home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 033a / mta1450.zip / MTADOCEN.DOC < prev    next >
Text File  |  1991-06-06  |  314KB  |  6,299 lines

  1. ╔══════════════════════════════            ┌─────────────────┐
  2. ║ MTA       Make Them Anything             │    D.I.S.P.     │────┐
  3. ║           Convert Compressed             │                 │░░░░│
  4. ╟──────────────────────────────            │                 │░░░░│
  5. ║ (c) 1991  Robert W.van Hoeven            │ Dutch           │░░░░│
  6. ╟──────────────────────────────            │   Independent   │░░░░│
  7. ║ Release : 14.50                          │     ShareWare   │░░░░│
  8. ║ Rel.Date: 6th June 1991                  │       Programmer│░░░░│
  9. ╠══════════════════════════════            └─────────────────┘░░░░│
  10. ║                                          |    │░░░░░░░░░░░░░░░░░│
  11. ║ │ MTA.EXE / MTM.EXE                      |    └─────────────────┘
  12. ║ │ MTL.EXE / MTU.EXE                      |       ┌─────┐        |
  13. ║ │ MTA.CTL / MTA.CHx                      |       │░░░░░│        |
  14. ║ │                                        |       └──┬──┘        |
  15. ║ │ Lines starting with '│' are            |     ┌────┴────┐      |
  16. ║ │ changes to release 14.45 !!            ------││││││ ═══│-------
  17. ║                                                └─────────┘
  18. ╠═══════════════════════════════
  19. ║ Address: Robert W. van Hoeven
  20. ║          PO. Box 131
  21. ║          1170 AC  Badhoevedorp
  22. ║          Nederland / Holland
  23. ╚═══════════════════════════════
  24.  
  25.  ┌───────┬─────────────────────────────────────────────────────────────┐
  26.  │   0   │ Table of contents                                           │
  27.  └───────┴─────────────────────────────────────────────────────────────┘
  28.  
  29.  1 ----    General information
  30.   1.1      Copyrights and Licence Agreement
  31.   1.2      Newer versions and contacting the author
  32.  
  33.  2 ----    Package description and requirements
  34.   2.1      Preface
  35.   2.2      Requirements
  36.   2.3      Included files
  37.   2.4      History
  38.   2.5      Introduction & specs
  39.  
  40.  3 ----    Installation description
  41.   3.1      Installation
  42.   3.2      Remarks on ARC
  43.   3.3      Remarks on PAK
  44.   3.4      Remarks on ZIP
  45.   3.5      Remarks on PKPAK/PKUNPAK
  46.   3.6      Remarks on DWC
  47.   3.7      Remarks on ZOO
  48.   3.8      Remarks on LHarc
  49.   3.9      Remarks on LArc
  50.   3.10     Remarks on MD
  51.   3.11     Remarks on ARJ
  52.   3.12     Remarks on HYPER
  53.   3.13     Remarks on PKLITE
  54.   3.14     MTA.CTL
  55.    3.14.1  Basic statements
  56.    3.14.2  Statements that define the environment that MTA uses (paths)
  57.    3.14.3  Statements that define the logging
  58.    3.14.4  Statements that define the selection of files
  59.    3.14.5  Statements that define the resulting files
  60.    3.14.6  Your own (new) compressor
  61.    3.14.7  Statements that define the MTA exits
  62.    3.14.8  Statements that are usefull to Bulletin Board Systems and SysOps
  63.    3.14.9  Special statements
  64.    3.14.10 Statements available when using a registered version
  65.   3.15     Customized compression
  66.   3.16     Recursive support
  67.   3.17     Compression file-in-compression file
  68.   3.18     MTA Touching System
  69.   3.19     Optimal sizes
  70.   3.20     Diskette option
  71.   3.21     Virus detection
  72.   3.22     Screen control
  73.   3.23     KeyBoard control
  74.   3.24     Swapping
  75.   3.25     Encryption and Authenticity Verification
  76.   3.26     Mice and other trouble
  77.   3.27     ITS
  78.   3.28     MTA and 4Dos <tm>
  79.   3.29     Substituted drive
  80.   3.30     Running multiple copies of MTA at the same time
  81.   3.31     Compression of single executable files (PKLITE)
  82.   3.32     The MTA tag-window
  83.   3.33     The MTA-child
  84.   3.34     MTA and unattended operations
  85.   3.35     Other computers
  86.   3.36     Usage in an online-environment (remote BBS logging)
  87. │ 3.37     Archives with volume-labels
  88.  
  89.  4 ----    Runtime information
  90.   4.1      Command-line switches
  91.   4.2      Aborting MTA
  92.   4.3      LOG file
  93.   4.4      The (de)compressors
  94.   4.5      Executing MTA
  95.   4.6      Errors
  96.   4.7      Specials
  97.   4.8      Very special notes to read and not forget
  98.  
  99.  5 ----    Version information and credits
  100.   5.1      The BETA-team
  101.   5.2      Credits
  102.   5.3      Version history
  103.   5.4      Copyright, Trademarks
  104.  
  105.  ┌───────┬─────────────────────────────────────────────────────────────┐
  106.  │   1   │ General information                                         │
  107.  └───────┴─────────────────────────────────────────────────────────────┘
  108.  
  109.  1.1 Copyrights and Licence Agreement
  110.  ────────────────────────────────────
  111.  
  112.  - Users of the MTA-package must accept this disclaimer of warranty:
  113.  
  114.  - The MTA-package is supplied as is.  The author disclaims all
  115.    warranties, expressed or implied, including, without limitation,
  116.    the warranties of merchantability and of fitness for any purpose.
  117.    The author assumes no liability for damages, direct or consequential,
  118.    which may result from the use of the MTA-package;
  119.  
  120.  - The MTA-package is a "shareware program" and is provided at no charge
  121.    to the user for evaluation.  Feel free to share it with your friends,
  122.    but please do not give it away altered or as part of another system.
  123.    The essence of "user-supported" software is to provide personal
  124.    computer users with quality software without high prices, and yet to
  125.    provide incentive for programmers to continue to develop new products.
  126.  
  127.  - If you find this program useful and find that you are using and
  128.    continue the use of the MTA-package after a 30 days trial period,
  129.    you must register the MTA-package as described below;
  130.  
  131.  - Non-commercial can get a licence for the usage up to this release
  132.    of the MTA-package for a small amount of money. Look into the
  133.    details in REGISTER.MTA. Previous registered users will receive
  134.    a big reduction to upgrade to the newer versions. These users
  135.    should look into the details in UPGRADE.MTA.
  136.    For Non-commercial users there is a POSSIBILITY to submit to one
  137.    of the special contracts as explained in the file REGISTER.MTA.
  138.  
  139.  - Commercial usage of MTA will cost somewhat more. Also, a so called
  140.    'closed' Bulletin Board System (a system where the user must pay
  141.    direct to the SysOp to get full access) is has to pay more than
  142.    a Non-commercial user. Both types of users should look into the
  143.    details in REGISTER.MTA;
  144.  
  145.  - The registration of the MTA-package will licence ONE copy for use on
  146.    any computer at any one time, as long as the usage confirms to the
  147.    type of registration you have done (so NON-commercial usage when you
  148.    have a non-commercial licence);
  149.  
  150.  - Anyone distributing the MTA-package for any kind of remuneration must
  151.    first contact the Author at the address above for authorization.
  152.  
  153.  - You are encouraged to pass a copy of the MTA-package along to your
  154.    friends for evaluation.  Please encourage them to register their
  155.    copy if they find that they can use it;
  156.  
  157.  - Support on MTA, when used in a non-commercial environment, is
  158.    available by means of written letters or by entering the inter-
  159.    national echomaol area DISP;
  160.  
  161.  - Problems and suggestions can be entered in the FidoNet <tm> Echomail
  162.    conference <tm> called DISP (international). Entering this echo does
  163.    not exclude you of the duty to register the MTA-package, though users
  164.    who evaluate the product can enter the echo for questions;
  165.  
  166.  - The MTA-package, all programs, the documentation and support-files is
  167.    copyrighted 1990,91 by Robert W. van Hoeven, PO. Box 131, Badhoevedorp
  168.    1170AC, Holland. All rights are reserved. You may copy this package
  169.    for backup purposes. Also you may copy and share unmodified copies of
  170.    the whole package, providing that the copyright notice is reproduced
  171.    and included on all copies.
  172.    Excluded from this statement are the support-files written by other
  173.    authors. Please refer to the documentation of these programs for
  174.    copyrights and licence agreements;
  175.  
  176.  - It is forbidden to modify, adapt, translate, reverse engineer, de-
  177.    compile and/or disassemble the software in the MTA-package. Patching
  178.    the medium at places that carry the software is seen as a program
  179.    change and is also forbidden. It is forbidden to create a so called
  180.    'bypass' to skip the original introduction screens and delay. Also
  181.    it is forbidden to use such a 'bypass' unless supplied by the author
  182.    (Robert W. van Hoeven) himself;
  183.  
  184.  - Performing any of the illegal actions as stated in the previous
  185.    lines, is a theft and no fair play to the author and, more important,
  186.    to the registered users;
  187.  
  188.  - Bulletin Board Systems that distribute the MTA package can convert
  189.    the WHOLE package to any archive-system they like but all original
  190.    files must be included in the new archive. The MTA-package on the
  191.    Bulletin Board can contain at the most 2 extra files. These files
  192.    can only be a commercial for that Bulletin Board and/or validation
  193.    data that is presented as a service to all users and shall have no
  194.    other functions;
  195.  
  196.  - After the normal trial period of 30 days, you must register the soft-
  197.    ware (see REGISTER.MTA) or you must remove it from your PC;
  198.  
  199.  - Comments, suggestions and bug reports are welcome and will be answered
  200.    as soon I have the time to do so. You can send me a letter of leave a
  201.    NetMail <tm> message named to Rob Van.hoeven (mind the point) on node
  202.    2:512/100 (RA Support, Monster, Holland, SysOp is Reinier de Groot).
  203.    When you want to send me normal mail, address it to:
  204.    Robert W. van Hoeven, PO. Box 131, 1171 AC Badhoevedorp, Holland;
  205.    Also you can enter messages in the FidoNet <tm> DISP Echomail <tm>
  206.    area;
  207.  
  208.  
  209.  1.2 Newer versions and contacting the author
  210.  ────────────────────────────────────────────────────────────────────────
  211.  The newest version of MTA is always available at the DISP-HQ on node
  212.  2:512/100. MTA is also distributed thru a number of DISP support nodes.
  213.  You can obtain MTA in four different ways:
  214.  
  215.  - Logging on at DISP-HQ or a support node
  216.  
  217.  All zones :  2:512/100  (Multiline Paradise NL #1)       DISP-HQ
  218.                          (Sysop: Reinier de Groot )
  219.               2:512/129  (MultiLine Paradise NL #2)       DISP-HQ
  220.                          (Sysop: Reinier de Groot )
  221.  
  222.  For zone 1:  1:203/988  (Amber Shadow       USA  )       Support & beta
  223.                          (Sysop: Dave Overton     )
  224.                          (The Chess Board    USA  )       Support & beta
  225.                          (Sysop: Ken Givens       )
  226.  
  227.  For zone 2:  2:280/216  (Sirex              NL   )       Support & beta
  228.                          (Sysop: Gerry Ulrich     )
  229.               2:242/4    (GOLEM    Meerbusch FRG  )       Support & beta
  230.                          (Sysop: Hanstheo Wolf    )
  231.               2:241/5603 (FunBoard Felbert   FRG  )       Support & beta
  232.                          (Sysop: Dirk Astrath     )
  233.               2:244/8500 (Nilpferd BBS       FRG  )       Support & beta
  234.                          (Sysop: Joerg Dassler    )
  235.               2:403/139  (The Black Universe ISR  )       Support & beta
  236.                          (Sysop: Saar Blitz &     )
  237.                          (       Addy Santos      )
  238.               2:405/166  (Hith Hiker BBS     ISR  )       Support & beta
  239.                          (Sysop: Alon Gingold     )
  240.               2:200/407  (Secret Blue Valley SWE  )       Support & beta
  241.                          (Sysop: Andreas Birgerson)
  242.               2:257/168  (Barnabas the Caring UK  )       Support & beta
  243.                          (Sysop: John Barton      )
  244.  
  245.  For zone 3,4,5 and 6    (vacant                  )
  246.  
  247.  
  248.    The BBS's above will always have the most current version of MTA
  249.    available. Also, in some cases, it is possible to request the
  250.    newest MTA with a standard file-request (ask the SysOp in question).
  251.    On 2:512/100 you can use MTANEW as magical name to Freq. the newest
  252.    version.
  253.    The actual DISP-HQ is point 2:512/100.5, but this is a closed system
  254.    and can not be accessed from the 'outside'). You CAN address netmail
  255.    to this point though !
  256.  
  257.  - Logging on to a SDS node
  258.    MTA is distributed thru SDS/SDN, but only big minors (x.10, x.20 and
  259.    so on) and majors (14.01, 15.01 and so on) are submitted to the SDS
  260.    distribution point in Holland;
  261.  
  262.  - Logging on to your own BBS;
  263.    Chances are, that you will find an older version (international
  264.    users) because it will take some time for the new version to
  265.    'bleed' thru the net;
  266.  
  267.  - Update service;
  268.    You can enter a special update service (read REGISTER.MTA).
  269.  
  270.  
  271.  If you think you have found problems in MTA, or in any other case,
  272.  you wish to contact the author, you can send me:
  273.  
  274.  - A letter to the address you can find in the header of this file;
  275.  - A NetMail <tm> message to Rob Van.hoeven (please mind the point
  276.    between Van and Hoeven) at 2:512/100 or (better) 2:512/100.5;
  277.  - A Message in the FidoNet <tm> DISP echomail <tm> area;
  278.  
  279.  ┌───────┬─────────────────────────────────────────────────────────────┐
  280.  │   2   │ Package description and requirements                        │
  281.  └───────┴─────────────────────────────────────────────────────────────┘
  282.  
  283.  2.1 Preface
  284.  ────────────────────────────────────────────────────────────────────────
  285.  Please notice the following:
  286.  
  287.  - MTA is a ShareWare product in every right way, this means this
  288.    software is not crippled in any way. There are some options that
  289.    do not work in the Shareware version, but these only have to deal
  290.    with the registration itself !;
  291.  
  292.  - This program only works when you have the right compressors available
  293.    on your PC. It does not do any compression of it's own ! The program
  294.    only interprets all the supported formats. I can not think of any
  295.    problem with that, but if any of the authors/companies of the
  296.    supported products has problems with this program, I will remove
  297.    that piece of coding at once (although I could not find any quote
  298.    like 'You may NOT call our program in program's of your own' in any
  299.    of the doc's);
  300.  
  301.  
  302.  2.2 Requirements
  303.  ────────────────────────────────────────────────────────────────────────
  304.  MTA requires:      - PC XT/AT/386
  305.                     - At least 400K free memory but it depends on the
  306.                       archiver(s) you use;
  307.                     - DOS 3.xx and higher;
  308.                       (tested with 4Dos 3.02, should work with lower
  309.                       versions);
  310.                     - DOS 2.xx ONLY when registered. In this case, a
  311.                       customized version will be created;
  312.                     - HDU optional
  313.                     - Mouse optional
  314.                     - One or more virus-scanners (optional)
  315.                     - The original (de)compression programs
  316.  
  317.  
  318.  2.3 Included files
  319.  ────────────────────────────────────────────────────────────────────────
  320.  The package includes : MTA.EXE         The main program
  321.                         MTA.CH1         The chained tag-menu module
  322.                         MTA.CH2         The chained help-menu module
  323.                         MTM.EXE         The maintenance program
  324.                         MTU.EXE         The special VIRSCAN caller
  325.                         MTL.EXE         The list program
  326.                         MTA_DIR.EXE     The directory utility
  327.                         MTA_CRC.EXE     The VALIDATE caller
  328.                         MTA__BAT.EXE    A SFX with examples of batches
  329.                         MTA__UTL.EXE    A SFX with additional utilities
  330.  
  331.  
  332.  2.4 History
  333.  ────────────────────────────────────────────────────────────────────────
  334.  MTA's history is now around a 2 years old. MTA was written for some
  335.  friends who had 'the conversion blues'. In somewhat less than a year,
  336.  and with the great support of many users, MTA is grown to a 'full
  337.  blown' conversion program.
  338.  
  339.  If you are searching for a 'quick and dirty' conversion from only
  340.  one type of archive to another one, you CAN use this program, but
  341.  using a small customized program should be faster.....
  342.  
  343.  If you think you are going to convert many types of archives and
  344.  even convert your own once in a while, MTA will prove to be a
  345.  handy program.
  346.  
  347.  If you own a Bulletin Board System, you will find out that MTA can
  348.  be used in 'full blown action', both manually or unattended (inside
  349.  an event). Links to other software I have developed (QF-series) will
  350.  be included soon;
  351.  
  352.  I think, there will be lots of other programs that can do the job,
  353.  and, of course, it's up to you which program you will use, but if
  354.  you want to have full control over almost EVERY action during the
  355.  conversion from A to B, MTA will not disappoint you in any way.
  356.  
  357.  MTA is hopefully the last of the conversion tools anyone needs, although
  358.  I agree with people who say 'Do I need a canon to shoot a fly ?'. In
  359.  any case, hereby I provide you all with a real conversion canon. Please
  360.  shoot the right things with it !
  361.  
  362.  
  363.  2.5 Introduction & specs
  364.  ────────────────────────────────────────────────────────────────────────
  365.  Those who took the time to read the history (and I know of at least
  366.  one, beside myself who hasn't done this) will have a general picture
  367.  of MTA's functions. For those who didn't, a brief review and some
  368.  general specs:
  369.  
  370.  MTA can:
  371.  
  372.  - Convert most of the compressed files to almost any other format,
  373.    provided, you have the original (de)compression program(s);
  374.  - Convert SFX (self extraction) files from ARC/PAK/ZIP/LHarc,LArc and
  375.    ARJ systems to normal compression files of any kind;
  376.  - Conversion can be done on individual files, whole or partial
  377.    directories (not recursive) and whole or partial diskettes (only
  378.    root) by providing a valid file-mask to MTA;
  379.  - When converting, MTA keeps (optional) a log-file (text-file) with
  380.    the result of its actions. MTA appends to an existing log-file or
  381.    creates one the first time;
  382.  - Most of the important compression options can be configured with
  383.    a control-file (MTA.CTL);
  384.  - When converting whole diskettes, MTA can hold back those files that
  385.    won't fit on this diskette AFTER the conversion. Later, MTA can spool
  386.    those files to diskettes with more free space;
  387.  - When converting one (or more) files, MTA can move them to an alternate
  388.    directory;
  389.  - When converting files, MTA converts compression files INSIDE this
  390.    files to the same compression system, while keeping up almost every
  391.    function as you have for the main file (some of the other programs
  392.    use a more 'slick' way to deal with this, but can not give you all
  393.    the functions when converting nested archives);
  394.  - MTA can add comment-files to files (nice banners in the ZIP for
  395.    Bulletin Boards), currently for ZIP, ZOO, DWC and ARJ;
  396.  - MTA can carry over the ARCHIVE comment (not (yet) the file comments)
  397.    in three different ways;
  398.  - MTA can run unattended (nice for BBS's);
  399.  - Depending on the TARGET format, MTA can preserve directories, as
  400.    supported by ZOO, ZIP ,ARJ and LHarc (recursive support);
  401.  - You can configure your own compressor (if you have one), or any new
  402.    type of compressor as a user-implemented feature;
  403.  - Prepared to run a customized compression/decompression program;
  404.  - The log-file can be analyzed with the support-program MTL.EXE. This
  405.    program is also useful when you want to 'compress' your log-file;
  406.  - Call user-EXIT when converting full diskettes;
  407.  - Call user-EXIT after any conversion;
  408.  - Call user-EXIT between conversion;
  409.  - Call EXIT before the real start and end of MTA's execution. This
  410.    could be handy for those users who use a cache device;
  411.  - Run unattended in a BBS configuration while changing FILES.BBS
  412.    to reflect the new situation;
  413.  - Run unattended in a BBS configuration and only convert the new
  414.    files;
  415.  - Can optimize an archive to the smallest type;
  416.  - Scan archives for viruses while converting them with McAfee's
  417.    SCAN.EXE <tm> or any other virus-scanner;
  418.  - Working on multiple directories in one run;
  419.  - RBBS compatible;
  420.  - Create CRC-values with a CRC program and add them in the archives;
  421.  - Leave ZIP AV'ed programs as they are (keeping the original AV)
  422.    while MTA is still able to delete some Sysop-added files and to
  423.    include some new files and comments;
  424.  - Fully mouse-aware (see chapter on mice);
  425.  - Fully ITS (1.06 and up) aware (see chapter on ITS);
  426.  - 4Dos <tm> aware;
  427.  - Full recursive support;
  428.  - EGA/VGA aware;
  429.  
  430.  For all its functions MTA 'leans' heavily on it's own control-file.
  431.  Most of the fixed options can be toggled with invocation switches.
  432.  
  433.  ┌───────┬─────────────────────────────────────────────────────────────┐
  434.  │   3   │ Installation description                                    │
  435.  └───────┴─────────────────────────────────────────────────────────────┘
  436.  
  437.  3.1 Installation
  438.  ────────────────────────────────────────────────────────────────────────
  439.  People who think that installing MTA is easy should read the specs
  440.  again. With such a number of options at hand, installation will be
  441.  something more than easy.
  442.  
  443.  People who (still) think that installing MTA is difficult are wrong.
  444.  When you take the time to read every possible option while creating
  445.  the control-file at the same moment, you will see that everything
  446.  is not that difficult at all.
  447.  
  448.  If you still have problems, you could enter a message in the FidoNet
  449.  DISP Echomail area. Also consider paying a small amount of money and
  450.  support is very near ! Also a full-screen installation program to
  451.  setup a customized MTA.CTL is available, but only for registered
  452.  users (look into REGISTER.MTA).
  453.  
  454.  Most users will have a hard-disk. Owners of a diskette oriented PC can
  455.  use MTA (provided you have a second drive). Installation however is
  456.  described for hard-disk owners:
  457.  
  458.  - Place MTA.EXE and MTL.EXE in some directory in the DOS PATH. All
  459.    additional batch-files (if any) for the various exits should also
  460.    be present in the DOS PATH. Place MTA.CH1 and MTA.CH2 in the same
  461.    directory as MTA.EXE (this is mandatory !!).
  462.    MTA.EXE can be renamed (DOS 3.xx passes the (new) program-name to
  463.    the program itself, so when MTA must swap, it knows how to call
  464.    itself, even when you have renamed the file. The MTA.CHx files
  465.    CAN NOT be renamed and must be in the same directory as MTA.EXE
  466.    (or its renamed alias);
  467.  
  468.  - Create a MTA.CTL file in the same directory (see instructions);
  469.  
  470.  - If your MTA.CTL is not going to be somewhere inside the DOS-path
  471.    and you will convert nested arc-in-arc files, it is advised to
  472.    include a environment variable MTA, set to the path containing
  473.    both MTA.EXE, MTA.CHx and MTA.CTL. The format is 'SET MTA=path';
  474.  
  475.  - Take special care with memory requirements (see description of
  476.    MTA.CTL's FreeMemory option);
  477.  
  478.  - Change to your trashcan directory (if one) and do a dummy-run. You
  479.    can supply a 'non existing' file mask. MTA checks the MTA.CTL (please
  480.    correct the errors) and creates a log-file (optional);
  481.  
  482.  - NEVER use compression programs like LZEXE, SHRINK, DIET or PKLITE
  483.    on the following files: MTA.EXE/CH1/CH2, MTL.EXE, MTM.EXE and the
  484.    MTZ.EXE programs. This will be fixed in the next major version
  485.    (15.01) but until then you can not use these programs on these
  486.    files. Skipping this warning can lead to a 154 error after you
  487.    have started the program;
  488.  
  489.  That's all there is to, except for the real freaks. BBS owners who plan
  490.  to use MTA to convert any incoming file to their own compression
  491.  system are not ready yet.
  492.  
  493.  
  494.  3.2 Remarks on ARC
  495.  ────────────────────────────────────────────────────────────────────────
  496.  MTA supports : All ARC versions up to 6.02
  497.  
  498.  There are no special tricks concerning ARC. When destination is ARC,
  499.  FULL recursive support is available if you use the SubstDrive option
  500.  in MTA.CTL, otherwise, no recursive support is available, due to the
  501.  nature of ARC's recursive support.
  502.  
  503.  MTA is NOT able to detect incoming encrypted ARC-files. There is no
  504.  indication in the ARC whatsoever that an ARC-file is encrypted. Please
  505.  be careful ! MTA IS able to unARC encrypted ARC-files when you supply
  506.  the correct switches to MTA;
  507.  
  508.  Please read the chapter (3.35) on other computers;
  509.  
  510.  
  511.  3.3 Remarks on PAK
  512.  ────────────────────────────────────────────────────────────────────────
  513.  MTA supports : All PAK versions up to 2.51
  514.  
  515.  There are a few things to keep in mind when using a PAK version. The
  516.  oldest version (also called GSARC) had some trouble with errorlevels.
  517.  If you are still using this version, insert PAKVersion 0 in MTA.CTL.
  518.  
  519.  If you use PAK 1.5 to PAK 1.61, everything will be fine with this
  520.  version of MTA.
  521.  
  522.  There are some special tricks concerning PAK. When destination is PAK,
  523.  FULL recursive support is available if you use the SubstDrive option
  524.  in MTA.CTL, otherwise, no recursive support is available, due to the
  525.  nature of PAK's recursive support.
  526.  
  527.  When adding comments to the PAK file (AutoComment option), up to
  528.  64000 bytes are allowed, although this seems to be more than PAK
  529.  can support.
  530.  
  531.  MTA is NOT able to detect incoming encrypted PAK-files. There is no
  532.  indication in the PAK whatsoever that a PAK-file is encrypted. Please
  533.  be careful ! MTA IS able to unPAK encrypted PAK-files when you supply
  534.  the correct switches to MTA. The Security Envelope is not processed
  535.  by MTA (only ZIP's Authenticity Verification).
  536.  
  537.  NoGate Consulting have released a PAK 2.5x with ZIP-support inside.
  538.  MTA is not able to use PAK as a substitution for PKWare's ZIP. I
  539.  don't know if this support will give the same problems with PAK and
  540.  ZIP as we have seen with PKWare and S.E.A. but besides that, there are
  541.  some major problems (?) with PAK and ZIP-files with directories in-
  542.  side. I have not got PAK's /I and /PATH options working with a ZIP
  543.  that contained directories. Use the normal PKZIP/PKUNZIP to convert
  544.  ZIP's. If anyone is interested in using PAK as a substitute for ZIP
  545.  and there are no copyright problems with PAK (using ZIP), I will con-
  546.  sider to implement this feature.
  547.  
  548.  Please read the chapter (3.35) on other computers;
  549.  
  550.  
  551.  3.4 Remarks on ZIP
  552.  ────────────────────────────────────────────────────────────────────────
  553.  MTA supports : All ZIP versions up to 1.10
  554.  
  555.  When using ZIP files (as destination), you must remember to set the
  556.  correct compression switches in the ZIPCompression option in MTA.CTL.
  557.  You can not (of course) use a switch that is not supported with your
  558.  current version of ZIP. So if you use PKZ 0.92, you can not code -es
  559.  in the ZIPCompression option.
  560.  
  561.  When adding comments to the ZIP file (AutoComment option), up to
  562.  64000 bytes are allowed. I have had troubles with the 0.92 evaluation
  563.  version of PK(UN)ZIP, but versions 1.01 to 1.10 seem to work ok.
  564.  
  565.  MTA is able to detect and process both encrypted ZIP-files and
  566.  ZIP-files with Authenticity Verification set to ON. MTA will skip
  567.  encrypted ZIP-files when no password is supplied to MTA.
  568.  
  569.  Users have pointed out that MTA uses a way to add comments to the
  570.  ZIP-files (rerouting of standard devices) that can cause incomplete
  571.  comments in the ZIP. This is true (the statement that rerouting
  572.  like PKZIP -z TEST <COMMENT.FIL could cause trouble) but not true
  573.  for MTA. MTA only uses this kind of operations with the CarryComment
  574.  option. In THAT case, MTA will place a CR-LF combination at the end
  575.  of the comment itself and no harm is done. For normal descriptions
  576.  in ZIP's (AutoComment option), MTA uses (and always used) its own
  577.  routines.
  578.  
  579. │From 14.50 and on, conversion of volume-labels from and to ZIP files
  580. │is available;
  581.  
  582.  
  583.  3.5 Remarks on PKPAK/PKUNPAK
  584.  ────────────────────────────────────────────────────────────────────────
  585.  MTA supports : All PKPAK/UNPAK versions up to 3.61
  586.  
  587.  There is nothing special in this support. To go along with S.E.A.,
  588.  PKPAK/PKUNPAK format is not supported as destination, nor are the
  589.  (archive) comments inside a PKware created ARC-file;
  590.  
  591.  MTA is NOT able to detect incoming encrypted PKPAK-files. There is no
  592.  indication in the ARC whatsoever that a PKPAK-file is encrypted. Please
  593.  be careful ! MTA IS able to unPAK encrypted PKPAK-files when you supply
  594.  the correct switches to MTA.
  595.  
  596.  
  597.  3.6 Remarks on DWC
  598.  ────────────────────────────────────────────────────────────────────────
  599.  MTA supports : DWC version 5.10A
  600.  
  601.  There is nothing special in this support. For included paths, the
  602.  same goes as for PAK 2.0 (no support). You can supply an additional
  603.  parameter to DWC by means of the DWCCompression option. You can
  604.  select to compress on speed or size. The little fixes and changes in
  605.  V 5.10 do not change the way MTA works along with DWC.
  606.  
  607.  There are some special tricks concerning DWC. When destination is DWC,
  608.  FULL recursive support is available if you use the SubstDrive option
  609.  in MTA.CTL, otherwise, no recursive support is available, due to the
  610.  nature of DWC's recursive support.
  611.  
  612.  MTA is able to detect and process DWC files that are encrypted. MTA
  613.  will skip an encrypted DWC-file when no password is supplied to MTA.
  614.  
  615.  
  616.  3.7 Remarks on ZOO
  617.  ────────────────────────────────────────────────────────────────────────
  618.  MTA supports : ZOO version 2.01
  619.  
  620.  There is nothing special in this support. Full recursive and relative
  621.  path support is available. MTA also supports ZOO 2.01 'extended'.
  622.  
  623.  When adding comments to the ZOO file (AutoComment option), up to
  624.  64000 bytes are allowed, although this seems to be more than ZOO
  625.  can support.
  626.  
  627.  
  628.  3.8 Remarks on LHarc
  629.  ────────────────────────────────────────────────────────────────────────
  630.  MTA supports : All LHarc versions up to 2.12E
  631.  
  632.  From 14.30 and up, MTA will support LZH files created with LHARC 2.10
  633.  and higher. I have not seen any versions later than 1.13d (original
  634.  versions that is) and not earlier that 2.05, so it could be possible
  635.  that some 'inbetween' version (>1.13d or <2.05) will not function.
  636.  
  637.  MTA does not support the invalid extension ICE unless you have selected
  638.  to support SFX-files.
  639.  
  640.  There are some special tricks concerning LZH. When using LZH (in/out),
  641.  FULL recursive support is available if you use the SubstDrive option
  642.  in MTA.CTL, otherwise, no recursive support is available, due to the
  643.  nature of LZH's recursive support.
  644.  
  645.  The author of LZH has made a terrible mistake in versions below the
  646.  2.06 I have seen. In version 2.05 at least, he has introduced a
  647.  special (but rather failsafe) test on the length of the archive. If
  648.  the archive is longer than its original size (after compression is
  649.  done) the LHA program can still unpack the archive but returns with
  650.  an errorlevel. I know at least 2 possible sources of problems:
  651.  - When downloading such a file with some protocols (original XModem
  652.    to name one) the file is appended to the length of the block that
  653.    has been send. In most cases the original archive will not be on
  654.    that block-boundery, so decompressing will be possible, but always
  655.    with an error;
  656.  - When using MTA (!) with the MarkString and marking set to on, MTA
  657.    will 'glue' 20 bytes to the archive. This ALSO causes LHA to return
  658.    an errorlevel when decompressing;
  659.  In both cases MTA will decompress the LZH-file, report an error and
  660.  move the file to the error-directory. We can not use that specific
  661.  error-level (a) because it is probably used for some other errors
  662.  too, (b) it is likely to be used on a later moment (and forgotten
  663.  by me, so problems will occur). From 14.35 and up, I have implemented
  664.  an option to be used in that case (UnMark along with /UNMARK). This
  665.  option will cause MTA to remove the mark-string BEFORE decompression
  666.  but only works with your own (marked) archives AND when you did not
  667.  change the mark somewhere along the way. It seems that Yoshi has
  668.  changed things again (sigh) back to normal with the 2.06 version,
  669.  but because of lacking documentation I can not be sure of this, in
  670.  my case everything worked again.
  671.  
  672.  Another problem that occurs with the LHA (LHARC 2.xx) implementation
  673.  is the backward compatible archive format. Look at chapter 4.8 (Very
  674.  special notes to read and not forget) for details. Also read the
  675.  description of the ExtendedTesting option !!!!
  676.  
  677.  Please read the chapter (3.35) on other computers;
  678.  
  679.  Remember to set the LZHVersion option to the correct value !!!!!!!!!!
  680.  
  681.  
  682.  3.9 Remarks on LArc
  683.  ────────────────────────────────────────────────────────────────────────
  684.  MTA supports : LArc version 3.33
  685.  
  686.  MTA supports LArc as it can. There is no documentation available to
  687.  me, so everything comes from 'the dark'.
  688.  
  689.  There are some special tricks concerning LZS. When using LZS (in/out),
  690.  FULL recursive support is available if you use the SubstDrive option
  691.  in MTA.CTL, otherwise, no recursive support is available, due to the
  692.  nature of LZS's recursive support.
  693.  
  694.  
  695.  3.10 Remarks on MD
  696.  ────────────────────────────────────────────────────────────────────────
  697.  MTA supports : MDCD version 1.00
  698.  
  699.  MTA supports MDCD. The not so commonly used MDCD program can be used
  700.  both as source and as target. Although the sources are available, MTA
  701.  will use the stand-alone program MDCD.EXE for (de)compression.
  702.  
  703.  
  704.  3.11 Remarks on ARJ
  705.  ────────────────────────────────────────────────────────────────────────
  706.  MTA supports : ARJ  version 2.10
  707.  
  708.  Support for ARJ is rather straight foreward. All standard functions
  709.  are implemented but at least ARJ 0.20 is needed because MTA uses the
  710.  m(ove) option and not the a(dd) /d(elete) combination.
  711.  
  712.  One drawback of ARJ can be its memory consumption. In some cases (XT,
  713.  many TSR's) it is needed to use the swapping option of MTA to do a
  714.  call for ARJ. You should experiment with COMPRESS and not DECOMPRESS
  715.  because the compress function needs more memory than the decompress
  716.  function of ARJ. Keep in mind that MTA can use a variable number of
  717.  extra bytes of memory, depending on the number of selected files.
  718.  You should at least use a 20-40K margin between MTA and ARJ. Large
  719.  computers (386+) can free most of their memory in upper memory, so
  720.  MTA will have enough room to survive WITH ARJ and WITHOUT swap.
  721.  
  722.  MTA does NOT support the usage of extended files (multi-volume
  723.  ARJ-files) but there will be no need to use MTA on such files at
  724.  all. Archive comments can only be used with ARJ 0.14 and up. All
  725.  comment-related MTA-functions will work on ARJ files. Keep in mind
  726.  though, that ARJ is LINE-oriented. If the comment you would like
  727.  to add (e.g. a banner file) starts with an empty line, or has
  728.  empty lines inside the banner, ARJ will think that the comment is
  729.  finished and nothing, or only a part of the comment is added !
  730.  
  731.  Up from MTA 14.10 (and ARJ 0.15 for that matter), MTA will also be
  732.  able to convert ARJ-SFX (self extracting archive) files.
  733.  
  734.  MTA can (from version 14.35 and up) also detect ARJ files with the
  735.  security envelope. Unlike ZIP, ARJ does not allow any changes to
  736.  these files. With KeepAV on, MTA will only check the included files
  737.  for special attributes and for viri (if installed) but is unable to
  738.  delete or add files, nor will MTA be able to insert comments in such
  739.  a file.
  740.  
  741.  ARJ contains the original archive-name within the archive itself. MTA
  742.  can use this name and (optionally) rename the source-archive back to
  743.  that original name before conversion start (OriginalARJName option).
  744.  
  745.  Also MTM, MTL and MTZ are changed to reflect the results of the change
  746.  from or to ARJ and to do maintenance on these files.
  747.  
  748. │Support for the 2.10 volume labels is added. Please remember to put
  749. │the KeepVolLabel (/KEEPVL) option on ONLY in combination with ARJ
  750. │version 2.10. If you use ZIP (1.10) and a lower version of ARJ than
  751. │2.10, conversion of the volume-labels will cause ARJ to abort and
  752. │the converted files to be moved to the error-directory !
  753.  
  754.  
  755.  3.12 Remarks on HYPER
  756.  ────────────────────────────────────────────────────────────────────────
  757.  MTA supports : HYPER version 25 (and up)
  758.  
  759.  This nice little compression program from Germany, is also supported
  760.  in MTA. Testing (to implement the protocol in MTA) gave results that
  761.  are in the same order as LHARC.
  762.  
  763.  MTA support the recursive features in HYPER. Any commenting in a HYP
  764.  file is impossible (yet) and thus not supported by MTA. All comment
  765.  related features will do nothing on a HYP file.
  766.  
  767.  MTA will support HYPER SFX (self extracting archive) files.
  768.  
  769.  Also MTM, MTL and MTZ are changed to reflect the results of the change
  770.  from or to HYPER and to do maintenance on these files.
  771.  
  772.  
  773.  3.13 Remarks on PKLITE
  774.  ────────────────────────────────────────────────────────────────────────
  775.  MTA supports : PKLITE version 1.05 (and up)
  776.  
  777.  It is a little off-topic type of program to be included in MTA, but
  778.  it is. MTA (and the selection-menu MTA.CH1) is changed so that you
  779.  easy convert COM/EXE files to compressed (self-contained) COM/EXE
  780.  files with PKLITE. I think this is a usefull bonus (and nothing more)
  781.  to MTA.
  782.  
  783.  Why not include LZEXE you would ask. The reasons are simple (and a
  784.  hint to the author, based on the current version 0.91):
  785.  
  786.  - LZEXE can only directly compress EXE files (COM files need a
  787.    special conversion);
  788.  - LZEXE can only go one way;
  789.  
  790.  In the near future I will think about adding the Japanese DIET program
  791.  into MTA (it can do the same, and more, than PKLITE).
  792.  
  793.  When MTA works in (UN)PKLITE mode, it can only convert with PKLITE.
  794.  All other files (archives) are not converted.
  795.  
  796.  When MTA ignores files in the selection, there can be a number of
  797.  reasons. These are:
  798.  
  799.  With PKLITE:
  800.  - The file is already PKLITE'ed;
  801.  - The file is already LZEXE'ed;
  802.  - The file is a SFX (Self extracting archive);
  803.  
  804.  With UNPKLITE:
  805.  - The file is not PKLITE'ed;
  806.  
  807.  LZEXE files are left, because it wil create problems when converting
  808.  these programs with PKLITE and when it does NOT create problems, there
  809.  will be NO gain in size. SFX-files are left for the same reasons.
  810.  
  811.  
  812.  3.14 MTA.CTL
  813.  ────────────────────────────────────────────────────────────────────────
  814.  The MTA.CTL file is a normal text-file (ASCII-file). You can create
  815.  this file with program's like EDLIN or any other ASCII-editor.
  816.  MTA.CTL must be in the DOS-path (DOS 2.xx) or in the same directory
  817.  as MTA.EXE (DOS 3.xx).
  818.  
  819.  MTA.CTL contains many options. Some of them optional, some of them not.
  820.  The general format for the MTA.CTL file is:
  821.  
  822.  Option {parameter} {parameter} ..... {parameter}
  823.  
  824.  There are NO restrictions to the position you start the command, nor
  825.  the starting position of the (optional) parameters, but the 'option'
  826.  and (if present) the 'parameters' have to be separated with one or
  827.  more spaces. You can make any mixture of upper and lower case !
  828.  
  829.  Some of the parameters in the MTA.CTL file can be overruled with
  830.  command-line switches. A generalized example of MTA.CTL is included
  831.  in the release-file. It contains ALL options available in this release.
  832.  
  833.  The following sub-chapters of 3.14 will contain the several statements
  834.  you can use in MTA.CTL. In the documentation, the statements are put
  835.  in logical groups. These groups contain statements with the same sort
  836.  of functions. The actual order of the statements in MTA.CTL does not
  837.  matter at all.
  838.  
  839.  
  840.  3.14.1 Basic statements
  841.  ────────────────────────────────────────────────────────────────────────
  842.  The following statements are more or less basic statements and should
  843.  be used in any setup. Some of the statements can be left out, because
  844.  they only add something extra or change the default that MTA.EXE itself
  845.  assumes.
  846.  
  847.  ┌─────────────────────────────────────────────────────────────────────┐
  848.  │ ARCPath     [path] {opt} {SWAP}                                     │
  849.  │ PAKPath     [path] {opt} {SWAP}                                     │
  850.  │ ZOOPath     [path] {opt} {SWAP}                                     │
  851.  │ DWCPath     [path] {opt} {SWAP}                                     │
  852.  │ LZHPath     [path] {opt} {SWAP}                                     │
  853.  │ LZSPath     [path] {opt} {SWAP}                                     │
  854.  │ PKZIPPath   [path] {opt} {SWAP}                                     │
  855.  │ MDPath      [path] {opt} {SWAP}                                     │
  856.  │ PKUNZIPPath [path] {opt} {SWAP}                                     │
  857.  │ PKUNPAKPath [path] {opt} {SWAP}                                     │
  858.  │ ARJPath     [path] {opt} {SWAP}                                     │
  859.  │ HYPERPath   [path] {opt} {SWAP}                                     │
  860.  │ PKLITEPath  [path] {opt} {SWAP}                                     │
  861.  └─────────────────────────────────────────────────────────────────────┘
  862.  Usage : These options are optional. MTA will do an automatic search
  863.          for all (de)compression programs. There are some cases where
  864.          you want to instruct MTA where and what to find yourself. These
  865.          cases are:
  866.          - Your HDU is a bit slow, the searches for all the needed
  867.            (de)compression program's takes too long;
  868.          - You have renamed some (or all) the (de)compression program(s)
  869.            to your own name(s). MTA will never find these program(s);
  870.          - You want to include the archiver in the 'optimize' process;
  871.          - You want to swap MTA before the archiver is called;
  872.          You can include some (or all) of the above options to instruct
  873.          MTA where AND what to find. The supplied options overrule the
  874.          automatic search MTA conducts.
  875.  
  876.          {opt} can either be a 'Y' a 'N' or not coded at all (in the
  877.          last case, 'N' is assumed). When {opt} is set to 'Y' (do not
  878.          include the quotes), you mark this archiver as one of the
  879.          archivers that is called when you use 'OptimizeOnSize' (/OOA)
  880.          to get the smallest possible archive-file. Only when you code
  881.          the OptimizeOnSize option or the /OOA switch, this optimize
  882.          process is called and in that case, all archivers marked with
  883.          a 'Y' will be used to obtain the smallest archive.
  884.          When {opt} is set to 'N' or you do not code it at all, MTA
  885.          will not include this archiver when OptimizeOnSize or /OOA
  886.          is used.
  887.  
  888.          {opt} has no meaning with PKUNZIPPath, PKUNPAKPath and the
  889.          PKLITEPath option but must be set to 'N' when the third
  890.          parameter (SWAP) is used. Setting it to 'Y' will have no
  891.          meaning for these options.
  892.  
  893.          Any archiver you include in the optimize process (so {opt}
  894.          is set to 'Y') will cause a longer throughput. History tells
  895.          us that (in general) ZIP, ARJ and LHarc can be seen as a
  896.          'competition' group, followed by HYPER, DWC, ZOO, LArc as
  897.          the second group and the others as the 'rest'. Mixing programs
  898.          from different groups can be done but is not usefull.
  899.  
  900.          The third parameters tells MTA if it need to swap itself out
  901.          of memory (only 4K left) before the archiver is called. When
  902.          you include 'SWAP' (without the quotes) as the third parameter,
  903.          MTA will do a swap (causing some delay, depending on the used
  904.          resources) of itself. This also causes the 'normal' window
  905.          below the MTA-frame NOT to work. MTA will start the archiver
  906.          just below its own frame, but is the archiver needs more that
  907.          6 lines (in 25 line mode) to do its thing, the MTA screen will
  908.          scroll of the screen. After MTA gains control again, the screen
  909.          is restored to the correct situation again. If you want to use
  910.          the swap-parameter, you must also include the {opt} parameter.
  911.          If you left it {opt} earlier, you can now code a 'N' and still
  912.          use the swap parameter without including this archiver in any
  913.          optimize process.
  914.  
  915.          Please notice that you must supply the correct programs to the
  916.          above options. If you replace one of the program's with another
  917.          one, strange things (errors) can occur and data could corrupt.
  918.          Supply the following programs to the options:
  919.  
  920.          ARCPath             ARC.EXE     or its alias
  921.          PAKPath             PAK.EXE     or its alias
  922.          ZOOPath             ZOO.EXE     or its alias
  923.          DWCPath             DWC.EXE     or its alias
  924.          LZHPath             LHARC.EXE   or its alias
  925.          LZSPath             LARC.EXE    or its alias
  926.          PKZIPPath           PKZIP.EXE   or its alias
  927.          MDPath              MDCD.EXE    or its alias
  928.          PKUNZIPPath         PKUNZIP.EXE or its alias
  929.          PKUNPAKPath         PKUNPAK.EXE or its alias
  930.                           or PKXARC.COM  or its alias
  931.                           or PKXARC.EXE  or its alias
  932.          ARJPath             ARJ.EXE     or its alias
  933.          HYPERPath           HYPER.EXE   or its alias
  934.  
  935.          Where 'alias' is the name you renamed the original file to.
  936.          Please supply the complete drive, path and filename to any
  937.          of the options !
  938.  
  939.          If you don't own one or more of the (de)compression programs,
  940.          leave out the related option, otherwise MTA will abort !
  941.  
  942.  
  943.  Relate: None
  944.  Dest. : All
  945.  
  946.  
  947.  ┌─────────────────────────────────────────────────────────────────────┐
  948.  │ CompressionType ttt                                                 │
  949.  └─────────────────────────────────────────────────────────────────────┘
  950.  Usage : With this option you instruct MTA what type of target files
  951.          MTA will create (the default is ZIP).
  952.          Valid types (ttt) are ARC (SEA), PAK (NoGate), ZIP (PkWare),
  953.          ZOO (R. Dhesi), LZH (Yoshi), DWC (D.W. Cooper), OWN (anything),
  954.          LZS (Miki/Okumura), HYP (Sawatzki/Mischke), ARJ (Robert K.
  955.          Jung), PKLITE (PKWare) to create compressed EXE/COM files or
  956.          UNPKLITE (PKWARE) to decompress compressed EXE/COM files again.
  957.  
  958.          You can use one of stated options if you own that type of
  959.          (de)compression program. Only one CompressionType option is
  960.          allowed.
  961.  
  962.          I suggest to use one of the normal archivers (and not the
  963.          PKLITE/UNPKLITE options) because that is the major goal of
  964.          MTA. The PKLITE/UNPKLITE options come as a bonus and can
  965.          easy be used with the /PKLITE and /UNPKLITE switches on the
  966.          command-line.
  967.  
  968.  
  969.  Relate: None
  970.  Dest. : All
  971.  
  972.  
  973.  ┌─────────────────────────────────────────────────────────────────────┐
  974.  │ LZHVersion xxx                                                      │
  975.  └─────────────────────────────────────────────────────────────────────┘
  976.  Usage : This parameter is optional. If you don't use this option, LHarc
  977.          version 1.13 is assumed. This option should only be included in
  978.          one (or both) of the following cases:
  979.          - You would like to see the correct version in the MTA screen;
  980.          - You work with a version higher than 1.13.
  981.          If the number is set to 1.13 or lower, MTA will ignore (warn)
  982.          LZH files created with LHARC 2.05 (or higher). If set to a
  983.          higher number and you don't have that version available (but
  984.          you use an older version), trashed (or deleted) files could
  985.          be the case.
  986.          Remember that versions between 1.13 and 2.00 are invalid (and
  987.          illegal) versions. Most of them were patched versions of the
  988.          original 1.13c/d, some of them even contained a virus.
  989.          Also there is a litte change in the way LHARC 1.13 will handle
  990.          recursed directories and the way LHA(RC) 2.05 will do such
  991.          work. Depending on this switch, MTA will use one of both
  992.          methods, so setting the option to the correct version is very
  993.          important if you use LHARC versions OTHER than 1.13.
  994.  
  995.  Relate: None
  996.  Dest. : LZH
  997.  
  998.  
  999.  ┌─────────────────────────────────────────────────────────────────────┐
  1000.  │ PAKVersion xxx                                                      │
  1001.  └─────────────────────────────────────────────────────────────────────┘
  1002.  Usage : This parameter is optional. If you don't use this option, PAK
  1003.          version 2.00 (2.10) is assumed. This option should only be
  1004.          included in one (or both) of the following cases:
  1005.          - You would like to see the correct version in the MTA screen;
  1006.          - You work with the old GSArc program. In THIS special case
  1007.            (running GSArc) you must include a '0' as version-number;
  1008.          The number is the full version number without any point, so
  1009.          version 2.00 must be entered as 200, 2.10 as 210 and so on;
  1010.  
  1011.  Relate: None
  1012.  Dest. : PAK
  1013.  
  1014.  
  1015.  ┌─────────────────────────────────────────────────────────────────────┐
  1016.  │ ZIPVersion xxx                                                      │
  1017.  └─────────────────────────────────────────────────────────────────────┘
  1018.  Usage : This parameter is optional. If you don't use this option, ZIP
  1019.          version 1.10 is assumed.
  1020.          You MUST include this option when you are running with a lower
  1021.          version of ZIP. MTA will so some special 1.10-alike features,
  1022.          also 0.9x version have special options that MTA will use !!!!!
  1023.          The number is the full version number without any point, so
  1024.          version 0.92 must be entered as 092 (or 92), 1.10 as 110 and
  1025.          so on;
  1026.  
  1027.  Relate: None
  1028.  Dest. : ZIP
  1029.  
  1030.  
  1031.  ┌─────────────────────────────────────────────────────────────────────┐
  1032.  │ ZIPCompression [options]                                            │
  1033.  └─────────────────────────────────────────────────────────────────────┘
  1034.  Usage : ZIPCompression is used to let MTA tell PKZIP which type of
  1035.          compression to use. Depending on the version of PKWare's
  1036.          ZIP-programs, these options can vary.
  1037.          With [options] you code the current ZIP compression options
  1038.          you would like to use.
  1039.          PKZ 0.90 : In general use 'ZIPCompression -eb4 -ea4'
  1040.          PKZ 0.92 : In general use 'ZIPCompression -ex'
  1041.          PKZ 1.00 : In general use 'ZIPCompression -ex' or
  1042.                                    'ZIPCompression -es'
  1043.          PKZ 1.10 : In general use 'ZIPCompression -ex' but
  1044.                     you can make use of -ei to force imploding
  1045.                     for the special PKSFX Jr;
  1046.  
  1047.          You must code the options just like you did with PKZIP !
  1048.  
  1049.  Relate: ZIPVersion
  1050.  Dest. : ZIP
  1051.  
  1052.  
  1053.  ┌─────────────────────────────────────────────────────────────────────┐
  1054.  │ DWCCompression [options]                                            │
  1055.  └─────────────────────────────────────────────────────────────────────┘
  1056.  Usage : With the DWCCompression option, you can select to overrule
  1057.          the DWC default for compression on speed or size. Use a
  1058.          value of 'y' for compression on speed, use 'z' for
  1059.          compression on size (both values to be coded without
  1060.          quotes). You can also add multiple values like with the
  1061.          ZIPCompression option;
  1062.  
  1063.  Relate: None
  1064.  Dest. : DWC
  1065.  
  1066.  
  1067.  ┌─────────────────────────────────────────────────────────────────────┐
  1068.  │ ARJCompression [options]                                            │
  1069.  └─────────────────────────────────────────────────────────────────────┘
  1070.  Usage : With the ARJCompression option, you can select to overrule
  1071.          the ARJ default for compression on speed or size. Use a value
  1072.          of -m1 to -m4 for compression on size to speed. Also extra op-
  1073.          tions (not implemented by MTA) can be added in the same way
  1074.          as with the ZIPCompression option.
  1075.  
  1076.  Relate: None
  1077.  Dest. : ARJ
  1078.  
  1079.  
  1080.  ┌─────────────────────────────────────────────────────────────────────┐
  1081.  │ OriginalARJName                                                     │
  1082.  └─────────────────────────────────────────────────────────────────────┘
  1083.  Usage : With this option included, MTA will look inside any ARJ file
  1084.          before it starts converting it. If the name inside the archive
  1085.          is different from the filename (ARJ stores the name of the
  1086.          archive at creation-time), MTA will rename it back to that
  1087.          original name. If the option is not included, MTA will not
  1088.          change the name of the archive even if a difference is de-
  1089.          tected.
  1090.  
  1091.          The rename will be done BEFORE MTA starts with the conversion
  1092.          of the file, so the target archive will have the new name
  1093.          also.
  1094.  
  1095.  Relate: None
  1096.  Source: ARJ
  1097.  
  1098.  
  1099.  ┌─────────────────────────────────────────────────────────────────────┐
  1100.  │ LZHCompression [options]                                            │
  1101.  └─────────────────────────────────────────────────────────────────────┘
  1102.  Usage : With the LZHCompression option, you can select to overrule
  1103.          the LZH default for compressions. You can use this option to
  1104.          toggle the /A option and so on. So extra options (not imple-
  1105.          mented by MTA) can be added in the same way as with the
  1106.          ZIPCompression option.
  1107.  
  1108.  Relate: None
  1109.  Dest. : LZH
  1110.  
  1111.  
  1112.  ┌─────────────────────────────────────────────────────────────────────┐
  1113.  │ PKLITECompression [options]                                         │
  1114.  └─────────────────────────────────────────────────────────────────────┘
  1115.  Usage : With the PKLITECompression option, you can select to overrule
  1116.          the PKLITE default for (de)compression of any EXE or COM file.
  1117.          The usage of -b (create backup) and -n (no overlays) are the
  1118.          obvious parameters you would like to use.
  1119.          Extra options (not implemented by MTA) can be added in the same
  1120.          way as with the ZIPCompression option.
  1121.  
  1122.  Relate: None
  1123.  Dest. : PKLITE
  1124.  
  1125.  
  1126.  3.14.2 Statements that define the environment that MTA uses (paths)
  1127.  ────────────────────────────────────────────────────────────────────────
  1128.  The following statements all define a part of the actual environment
  1129.  that MTA.EXE will use. Included are statements that define the several
  1130.  directories that MTA can use, the minimal requirements for memory and
  1131.  space on the drives, the swapping functions and so on.
  1132.  
  1133.  ┌─────────────────────────────────────────────────────────────────────┐
  1134.  │ TempPath [path] {min free bytes}                                    │
  1135.  └─────────────────────────────────────────────────────────────────────┘
  1136.  Usage : This parameter is optional. If you supply this parameter, you
  1137.          instruct MTA to pass parameters to the called (de)compressors
  1138.          to use 'path' as their temporary work path. Most obvious is
  1139.          the usage of a RAM-disk or EMS-disk for 'path'. Please supply
  1140.          the full drive AND path, because MTA changes from and to
  1141.          directories !
  1142.          This option is only used for (de)compressors who have the
  1143.          option to use a temporary path.
  1144.          Mostly LHarc <tm> is bound to make trouble when the supplied
  1145.          drive/path does not exist. There are also problems to expect
  1146.          when there is too little space on the drive to contain LHarc's
  1147.          temporary files.
  1148.          By default MTA will look if there is 256K of free space on
  1149.          the supplied drive. If there isn't, MTA will ignore the
  1150.          TempPath option. If you want a lower or higher threshold, you
  1151.          can supply a third parameter on the TempPath option. This
  1152.          parameter has to contain the minimum number of free bytes on
  1153.          the drive supplied in the second parameter. When you want to
  1154.          ignore threshold testing, you supply a 0.
  1155.  
  1156.          When you have an Environment Variable TEMP available (pointing
  1157.          to a full directory-name), then MTA will use this directory if
  1158.          there is NO TempPath option defined. The test on available
  1159.          space is skipped in this case !!
  1160.          If you supply the TempPath option AND a TEMP variable is pre-
  1161.          sent in the environment table, then MTA will overrule the
  1162.          value in the TEMP variable with the value in the TempPath
  1163.          option and the (optional) test on space IS performed !
  1164.  
  1165.  Relate: None
  1166.  Dest. : All
  1167.  
  1168.  
  1169.  ┌─────────────────────────────────────────────────────────────────────┐
  1170.  │ MTATempPath [path]                                                  │
  1171.  └─────────────────────────────────────────────────────────────────────┘
  1172.  Usage : This parameter is optional. Normally MTA creates its own working
  1173.          directory under the current (startup) directory. In some cases
  1174.          you don't want to use this option (f.i. you have a large RAM or
  1175.          EMS disk, or your current directory name is very long).
  1176.          MTA stores the UNCOMPRESSED files in his temporary directory,
  1177.          so when you supply MTATempPath, please keep in mind that there
  1178.          must be enough room on the supplied drive to hold all
  1179.          uncompressed files in the largest compression-file ! MTA itself
  1180.          will skip a conversion when [space available] / 2 <
  1181.          [uncompressed space]. In other words when there isn't room
  1182.          enough for twice the uncompressed size, MTA will skip.
  1183.  
  1184.          When you do NOT supply MTATempPath, MTA creates a directory
  1185.          with a 8 character long name, reflecting the current date and
  1186.          time in HEX representation. When running as a child (see the
  1187.          chapter about Compression-In-Compression) MTA creates paths
  1188.          with the name $.
  1189.          Please enter the full drive and path (not a relative one) to
  1190.          this option, because MTA changes directories frequently. If
  1191.          no drive is included, MTA assumes the current drive.
  1192.  
  1193.          WARNING : The current version of DWC (A501) does NOT like to
  1194.                    see points in other directories than the LAST. F.i.
  1195.                    C:\ZIP.ZIP is your current path, when converting
  1196.                    MTA creates C:\ZIP.ZIP\[mtatemppath|ownpath]. DWC
  1197.                    does NOT like this and this can lead to serious
  1198.                    errors in MTA (error messages).
  1199.  
  1200.          By default MTA will look if there is 256K of free space on
  1201.          the supplied drive. If there isn't, MTA will abort at forehand.
  1202.          If you want a lower or higher threshold, you can supply a
  1203.          third parameter on the MTATempPath option. This parameter
  1204.          has to contain the minimum number of free bytes on the drive
  1205.          supplied in the second parameter. When you want to ignore
  1206.          threshold testing, you supply a 0. This should be the default
  1207.          because MTA does a test for space itself, but you can use the
  1208.          threshold for other reasons;
  1209.  
  1210.  Relate: None
  1211.  Dest. : All
  1212.  
  1213.  
  1214.  ┌─────────────────────────────────────────────────────────────────────┐
  1215.  │ MTAErrorPath [path]                                                 │
  1216.  └─────────────────────────────────────────────────────────────────────┘
  1217.  Usage : At last, some of the users will say. When the decompression
  1218.          fails (CRC-error, not enough memory), MTA will normally put the
  1219.          original file in the temporary directory. This is a directory
  1220.          with a name like 1A345A76 (in fact it is the HEX-value of the
  1221.          combined current-date and current-time). Sysop's hate to
  1222.          collect all failed archives from these directories (when you
  1223.          have to collect 4 or 5 you can imagine why).
  1224.          MTA is able to move a failing archive to a directory with a
  1225.          fixed name. In this case you must supply this statement with
  1226.          a valid (and available) path as the second parameter. MTA
  1227.          will put all archives that were not converted due to an error,
  1228.          in this directory.
  1229.  
  1230.  Relate: None
  1231.  Dest. : All
  1232.  
  1233.  
  1234.  ┌─────────────────────────────────────────────────────────────────────┐
  1235.  │ FDUTempPath [path]                                                  │
  1236.  └─────────────────────────────────────────────────────────────────────┘
  1237.  Usage : This parameter is mandatory when using the /D switch. When
  1238.          working with diskettes (e.g. convert entire diskettes from one
  1239.          method to another one), MTA makes usage of two special unique
  1240.          directories (supplied in FDUTempPath and FDUTrashPath).
  1241.          Read the chapter about the diskette option.
  1242.  
  1243.          Please assign full drive and path names to this option. The
  1244.          first time MTA run's, it creates the directory and leaves it
  1245.          hat way for the following run's. You may also assign a already
  1246.          existing path. If you do not include a drive, MTA will add the
  1247.          current drive to the supplied path.
  1248.  
  1249.  Relate: FDUTrashPath
  1250.  Dest. : All
  1251.  
  1252.  
  1253.  ┌─────────────────────────────────────────────────────────────────────┐
  1254.  │ FDUTrashPath [path]                                                 │
  1255.  └─────────────────────────────────────────────────────────────────────┘
  1256.  Usage : This parameter is mandatory when using the /D switch.
  1257.          The FDUTrashPath contains all files who could not be moved
  1258.          back to diskettes because of a lack of space.
  1259.          Read the chapter about the diskette option.
  1260.  
  1261.          Please assign full drive and path names to this option. The
  1262.          first time MTA run's, it creates the directory and leaves it
  1263.          hat way for the following run's. You may also assign a already
  1264.          existing path. If you do not include a drive, MTA will add the
  1265.          current drive to the supplied path.
  1266.  
  1267.  Relate: FDUTempPath
  1268.  Dest. : All
  1269.  
  1270.  
  1271.  ┌─────────────────────────────────────────────────────────────────────┐
  1272.  │ ITSPath [path]                                                      │
  1273.  └─────────────────────────────────────────────────────────────────────┘
  1274.  Usage : When you use MTA in combination with my product ITS (version
  1275.          1.06 and higher), you must tell MTA where to find the
  1276.          semaphore file that ITS maintains. This can be done with the
  1277.          ITSPath option.
  1278.          If it is left out, MTA will not be ITS-aware. If you include
  1279.          the valid path to ITS.SPH (like you did in ITSCFG), MTA will
  1280.          include ITS-awareness (see chapter on ITS).
  1281.  
  1282.  Relate: None
  1283.  Dest. : All
  1284.  
  1285.  
  1286.  ┌─────────────────────────────────────────────────────────────────────┐
  1287.  │ MoveToDir [path]                                                    │
  1288.  └─────────────────────────────────────────────────────────────────────┘
  1289.  Usage : This parameter is optional. You can direct MTA to move all
  1290.          converted files to another path (option is only valid when
  1291.          NOT using /D).
  1292.          Please supply full drive and path names to this option !
  1293.  
  1294.          There is one special format for the MoveToDir option. This
  1295.          is the case when you are combining this option with the /D
  1296.          command-line switch (diskette support).
  1297.          When using the combination /D with MoveToDir (or /M[path])
  1298.          MTA will get all files from the source diskette drive,
  1299.          convert them to the new archive-system and move them back to
  1300.          the drive (and path) supplied by /M or MoveToDir. This makes
  1301.          it easy to convert from diskettes in (lets say) drive A: (lets
  1302.          say these are 360Kb diskettes) to drive B: (lets say these are
  1303.          1.44Mb diskettes). You can even convert them to a subdirectory
  1304.          in the target drive.
  1305.          WARNING ! When you use MoveToDir as a normal option, but now
  1306.          and then you use MTA to convert diskettes then please remember
  1307.          to overrule the MoveToDir option by adding /M (without drive
  1308.          and path) to the command-line, otherwise your diskette files
  1309.          (and those in the trashcan) will be moved to the wrong place.
  1310.          MTA will give a warning when you use /M[path] or MoveToDir
  1311.          and /D together. You can interrupt MTA's functions at once
  1312.          by hitting ESC when the message is flashing on the screen.
  1313.  
  1314.          WARNING: When you use MoveToDir in conjunction with the
  1315.                   ExitAfterCompression option you have to know the
  1316.                   following extra's:
  1317.                   - When you create an extra file in the exit with
  1318.                     the extension .COM or .EXE and in the same
  1319.                     directory as the original compressed file, MoveToDir
  1320.                     moves these files also. When a name-like file
  1321.                     already exist in the MoveToDir target directory, MTA
  1322.                     gives you a warning and leaves the file where it
  1323.                     was. This does not go for the original compressed
  1324.                     file !
  1325.                     Normally this would not be a problem but when you
  1326.                     create such file with LHARC.EXE (1.12b) as the
  1327.                     result of the creation of a Self-Extraction-File,
  1328.                     LHarc.EXE asks you 'Overwrite [Y/N]'. This would
  1329.                     be very nasty when running unattended ! Please
  1330.                     make a check for the target-file before LHARC
  1331.                     creates the SFX-file !
  1332.                   - When you delete the original compression file in
  1333.                     the exit, MTA will 'see' this and take no further
  1334.                     actions;
  1335.  
  1336.          When you are running 4Dos <tm> and your original files contain
  1337.          a description in the 4Dos description file, MTA will use 4DOS's
  1338.          MOVE command to move any files (if MTA has detected a full 4DOS
  1339.          environment and the Not4DosAware option is set to off). This
  1340.          will cause any descriptions (added with 4DOS) to be carried
  1341.          along to the new directory.
  1342.  
  1343.  Relate: Not4DosAware
  1344.  Dest. : All
  1345.  
  1346.  
  1347.  ┌─────────────────────────────────────────────────────────────────────┐
  1348.  │ FreeMemory nnnnnn                                                   │
  1349.  └─────────────────────────────────────────────────────────────────────┘
  1350.  Usage : Most BBS SysOp's (author included) tend to use programs under
  1351.          a child (shell) process of their running BBS or other programs.
  1352.          MTA consumes a lot of memory (around 128k). This is needed for
  1353.          all its special options which are many (as you have already
  1354.          seen). The errors MTA creates when a shelled (de)compressor
  1355.          abort due to memory shortage are nasty to work away (empty
  1356.          the temporary directory and its optional trees, deleting this
  1357.          directories and so on).
  1358.          When MTA starts, it looks for a  reasonable number of free
  1359.          bytes to work with, after MTA has loaded and created ALL its
  1360.          own structures. Normally this would be 256K allowing you to
  1361.          run every implemented (de)compressor.
  1362.          You can alter this number of bytes.
  1363.  
  1364.          You could decrease it when:
  1365.          - You don't use DWC to around 190K
  1366.          - You don't use ZIP to around 170K
  1367.  
  1368.          You must increase it when:
  1369.          - Using large shells in EXITBeforeFill, ExitAfterFill or
  1370.            ExitAfterCompress;
  1371.  
  1372.          With the optional FreeMemory option, you can set memory
  1373.          requirements to your own calculated number of bytes. Please
  1374.          observe that in most cases you have to experiment with the
  1375.          value.
  1376.          The primary usage of the memory requirement test is to
  1377.          warn you (with a premature abort) when you are running in
  1378.          a child (shell) process.
  1379.          When you want to ignore the test, set FreeMemory with a
  1380.          very large number of bytes.
  1381.  
  1382.  
  1383.  Relate: None
  1384.  Dest. : All
  1385.  
  1386.  
  1387.  ┌─────────────────────────────────────────────────────────────────────┐
  1388.  │ RunTime [seconds]                                                   │
  1389.  └─────────────────────────────────────────────────────────────────────┘
  1390.  Usage : This option can instruct MTA to run for a maximum number of
  1391.          seconds. This could come in handy when you want to include
  1392.          MTA in a BBS event, but also normal users can benefit of this
  1393.          option.
  1394.          The number of seconds can go from 0 (same as leaving out the
  1395.          option) to 2147483647 (same a eternal). You have to keep in
  1396.          mind that the actual time MTA takes can be longer than the
  1397.          number of supplied seconds. MTA checks this option after
  1398.          every converted file (so at least 1 files is converted). If
  1399.          there is 1 second left, the next file is converted. So MTA
  1400.          can run as long as RunTime-1+(time for the last compression
  1401.          in seconds) seconds !
  1402.          MTA displays the remaining seconds. If there are more than
  1403.          5 minutes left the display is green, turns to yellow when
  1404.          there is between 2 and 5 minutes left, turns to red when
  1405.          there are 2 minutes or less left. When time is up, MTA does
  1406.          a 'clean' abort.
  1407.          RunTime does not function in a MTA-Child process nor when
  1408.          you are converting a diskette (/D option).
  1409.  
  1410.  Relate: None
  1411.  Dest. : All
  1412.  
  1413.  
  1414.  ┌─────────────────────────────────────────────────────────────────────┐
  1415.  │ Not4DosAware                                                        │
  1416.  └─────────────────────────────────────────────────────────────────────┘
  1417.  Usage : MTA will use some 4DOS instructions along the conversion-path.
  1418.          This will only be the case when:
  1419.          - MTA detects 4DOS in the machine (INT $2F combination);
  1420.          - MTA detects a COMSPEC value with 4DOS somewhere inside
  1421.            the name of the program (4DOS.COM, 4DOS88.EXE or 4DOS286.EXE)
  1422.            belonging to this environment variable;
  1423.  
  1424.          If you don't want to use 4DOS instructions at all (look into
  1425.          the chapter about 4DOS), you must code the Not4DosAware op-
  1426.          tion, otherwise MTA will use them,
  1427.  
  1428.  Relate: MoveToPath
  1429.  Dest. : All
  1430.  
  1431.  
  1432.  ┌─────────────────────────────────────────────────────────────────────┐
  1433.  │ ForceCGA                                                            │
  1434.  └─────────────────────────────────────────────────────────────────────┘
  1435.  Usage : This option should be used when you have trouble with the
  1436.          video while the (de)compressors are running. The option
  1437.          has nothing to do with YOUR screen mode, more with the type
  1438.          of display MTA will select to display your window.
  1439.          Problems will look like a shell with only characters on the
  1440.          first position of every line and garbage....
  1441.  
  1442.  Relate: None
  1443.  Dest. : All
  1444.  
  1445.  
  1446.  ┌─────────────────────────────────────────────────────────────────────┐
  1447.  │ VideoMode [mode]                                                    │
  1448.  └─────────────────────────────────────────────────────────────────────┘
  1449.  Usage : This option can be used on systems that have an EGA or VGA
  1450.          card installed that supports alternate text-modes like 80x43,
  1451.          132x60 and so on. MTA will adjust itself to both length and
  1452.          width of the screen. With a width that is bigger than 110
  1453.          bytes, MTA will also use a alternate display.
  1454.          MTA can change the videomode (text-mode) by itself when you
  1455.          supply the correct value with [mode]. Look into your video-
  1456.          card's manual to find the correct video-mode (it is usually
  1457.          in hex, with VideoMode you must supply the DECIMAL form) for
  1458.          a valid text-(NOT GRAPHICS)-mode like 132x60. Because of the
  1459.          many different implementation of the videomodes on different
  1460.          cards, it is up to you to supply the correct mode. When you
  1461.          leave out this option, MTA will use (and stay) in the current
  1462.          mode (this can already be an enhanced text-mode).
  1463.          After MTA finishes the process, the original videomode at the
  1464.          start of MTA is restored.
  1465.  
  1466.  Relate: None
  1467.  Dest. : All
  1468.  
  1469.  
  1470.  ┌─────────────────────────────────────────────────────────────────────┐
  1471.  │ StowBuffer [bytes]                                                  │
  1472.  └─────────────────────────────────────────────────────────────────────┘
  1473.  Usage : MTA uses some special options inside the little shell where
  1474.          the compressors run. For this option, MTA has to reserve some
  1475.          bytes in memory. This block of memory must be large enough to
  1476.          contain ALL displayed output inside this shell for one run.
  1477.          Usually 32768 bytes is enough, but when you have extreme large
  1478.          archives and you use a compressor that produces width lines
  1479.          (many) like ZIP when working recursive, this could not be
  1480.          enough. In these special cases you can enlarge the buffer up
  1481.          to 65534 bytes in length, but this means you 'consume' an
  1482.          extra 32K when the shell is called.
  1483.          The supplied value must be enough for ONE (the biggest) call.
  1484.          When MTA gets control again, the buffer is cleared and can
  1485.          be used again. Normally you don't have to use this option !
  1486.  
  1487.  Relate: None
  1488.  Dest. : All
  1489.  
  1490.  
  1491.  ┌─────────────────────────────────────────────────────────────────────┐
  1492.  │ SubstDrive [array of drives]                                        │
  1493.  └─────────────────────────────────────────────────────────────────────┘
  1494.  Usage : Please read chapter 3.29 about substituted drives before using
  1495.          this option. If you use the option you must only supply a
  1496.          drive you want to use as a temporary substituted drive.
  1497.  
  1498.          With this option you specify 1 or more (if you run more than
  1499.          one MTA-task at a time in network or multitasking environments)
  1500.          drive-letters that MTA can use as a SUBSTituted drive. Details
  1501.          on how to select drives are also given in chapter 3.29. You
  1502.          must supply multiple drives as one array (without spaces) of
  1503.          letters. For example:
  1504.  
  1505.          To use A:            as the substituted drive : SubstDrive A
  1506.          To use E:, F: and G: as the substituted drives: SubstDrive EFG
  1507.             (only needed when you run multiple copies of MTA)
  1508.  
  1509.          Please also read CAREFULLY chapter 3.30 (Concurrent MTA's)
  1510.          for a FULL understanding on how MTA assigns substituted
  1511.          drives in concurrent environments.
  1512.  
  1513.  Relate: None
  1514.  Dest. : All
  1515.  
  1516.  
  1517.  ┌─────────────────────────────────────────────────────────────────────┐
  1518.  │ ExtendedTesting                                                     │
  1519.  └─────────────────────────────────────────────────────────────────────┘
  1520.  Usage : Look into chapter 4.08 for details. When set to on, MTA will
  1521.          perform extended testing after the decompression of any file.
  1522.          The drawback is a (small) loss in performance.
  1523.  
  1524.  Relate: None
  1525.  Dest. : All
  1526.  
  1527.  
  1528.  ┌─────────────────────────────────────────────────────────────────────┐
  1529.  │ ShareWait [seconds]                                                 │
  1530.  └─────────────────────────────────────────────────────────────────────┘
  1531.  Usage : This option is used to overcome problems with a so called
  1532.          'deadlock'. A deadlock can arise from a sharing violation.
  1533.          When a task locks a file that MTA needs and this lock will
  1534.          stay for a long period, then MTA will also wait as long as
  1535.          the file is locked. The ShareWait option will define a maximum
  1536.          to the period MTA will wait. By default MTA will wait 300
  1537.          seconds (5 minutes). If this is not enough (or too much) then
  1538.          you can define any other period (in seconds) with this option.
  1539.  
  1540.          ShareWait is ONLY needed in a multitasking/network environment
  1541.          and has no meaning when SHARE is not loaded.
  1542.  
  1543.  Relate: None
  1544.  Dest. : All
  1545.  
  1546.  
  1547.  ┌─────────────────────────────────────────────────────────────────────┐
  1548.  │ NoMouse {Window}                                                    │
  1549.  └─────────────────────────────────────────────────────────────────────┘
  1550.  Usage : If the behavior of the mouse-routines give you pain in the
  1551.          head, you can shut off the mouse permanent with the NoMouse
  1552.          option. There is also an in-between way. When you use the
  1553.          optional parameter 'Window' (without the quotes), MTA will
  1554.          shut off the mouse in ANY DOS-window, so also the little
  1555.          window under MTA's main screen, used for the (de)compression.
  1556.          Sometimes this is needed, when the system can not handle the
  1557.          interrupt-routine that stays active while MTA calls the
  1558.          (de)compression programs. On my own system, I have found no
  1559.          problems at all, but there are reports of hanging programs
  1560.          while the mouse is active in the (de)compression window. In
  1561.          that case, use 'Nomouse Window'. This means you have still
  1562.          control over the mouse in the tag-menu and while MTA is
  1563.          doing something of its own.
  1564.          This option only has a meaning when you have loaded a mouse
  1565.          driver and attached a mouse. MTA forces NOMOUSE when you run
  1566.          MTA in a screen-mode other than 80*25. This is because of
  1567.          the fact that many third-party vendor mouse-drivers can not
  1568.          work correctly with larger screen-modes.
  1569.  
  1570.  Relate: None
  1571.  Dest. : All
  1572.  
  1573.  
  1574.  ┌─────────────────────────────────────────────────────────────────────┐
  1575.  │ AltDisplay                                                          │
  1576.  └─────────────────────────────────────────────────────────────────────┘
  1577.  Usage : MTA can display either of two screens. A screen with static
  1578.          run-time options (default) or a dynamic screen with a list
  1579.          of files to go. You can toggle this screen while MTA is
  1580.          running. Use the 'T' key to toggle between dynamic and
  1581.          static display.
  1582.          If you want MTA to start (by default) with the dynamic screen,
  1583.          you must include the AltDisplay option. You can still toggle
  1584.          screens tough. Let it be clear that the any MTA-child (called
  1585.          with arc-in-arc files) will start with the default option
  1586.          (so static or dynamic when AltDisplay is included in MTA.CTL)
  1587.          and NOT the state of the screen its MTA-parent had);
  1588.  
  1589.  Relate: None
  1590.  Dest. : All
  1591.  
  1592.  
  1593.  ┌─────────────────────────────────────────────────────────────────────┐
  1594.  │ NoSwap                                                              │
  1595.  └─────────────────────────────────────────────────────────────────────┘
  1596.  Usage : Normally MTA will use swapping when Arc-In-Arc files are
  1597.          converted. If you don't want to use swapping, include this
  1598.          option. When swapping is set to OFF (NoSwap) only 1 or 2
  1599.          levels of Arc-in-Arc files can be converted.
  1600.          MTA will report an error when you include NoSwap and you have
  1601.          set one or more archivers to SWAP (third option in xxxPath
  1602.          options). Then you want to swap any archiver, you MUST use
  1603.          MTA's swapping feature and this statement must be left out !
  1604.  
  1605.  Relate: SwapPath, xxxPath
  1606.  Dest. : All
  1607.  
  1608.  
  1609.  ┌─────────────────────────────────────────────────────────────────────┐
  1610.  │ SwapPath [path]                                                     │
  1611.  └─────────────────────────────────────────────────────────────────────┘
  1612.  Usage : When NoSwap IS NOT set, you can use the SwapPath option to
  1613.          let MTA know where to place the swap-files (if no EMS is
  1614.          available, or EMS if fully used).
  1615.          By default MTA will use the current directory. The files
  1616.          (if created) have SYSTEM and HIDDEN attributes set AND will
  1617.          stay OPEN while swapping is done. Read the chapter on swapping
  1618.          for more details !
  1619.          Never delete these files inside the MTA-shell (a crash
  1620.          will occur), only when MTA is finished (or did hang up your
  1621.          machine). Normally MTA will delete this file itself. Every
  1622.          file is around 150.000 bytes in length;
  1623.  
  1624.  Relate: NoSwap
  1625.  Dest. : All
  1626.  
  1627.  
  1628.  ┌─────────────────────────────────────────────────────────────────────┐
  1629.  │ WarningTime [cycles]                                                │
  1630.  └─────────────────────────────────────────────────────────────────────┘
  1631.  Usage : This parameter is optional and controls MTA's time to display
  1632.          a warning message. When running unattended (a BBS for example)
  1633.          long waiting times are not so handy. When running manually they
  1634.          could be handy.
  1635.          By default MTA sets the WarningTime to 20 cycles (every cycle
  1636.          is visualized on the screen). This comes to around 10 seconds.
  1637.          You can interrupt every message by pressing any key.
  1638.          When the default is to long for you, you can reduce the value,
  1639.          when you want more time, increase it. Values from 0 to 65535
  1640.          are valid.
  1641.          Value 0 means that MTA will display no warning messages at all.
  1642.  
  1643.  Relate: None
  1644.  Dest. : All
  1645.  
  1646.  
  1647.  3.14.3 Statements that define the logging
  1648.  ────────────────────────────────────────────────────────────────────────
  1649.  MTA can log almost anything. The following statements define the type
  1650.  of logging (if any) for the several actions and the actual format of
  1651.  the logged records.
  1652.  
  1653.  ┌─────────────────────────────────────────────────────────────────────┐
  1654.  │ LogPath [path]                                                      │
  1655.  │ LogPath [full path & filename]                                      │
  1656.  └─────────────────────────────────────────────────────────────────────┘
  1657.  Usage : When you want MTA to create a log, you MUST include the path
  1658.          to the logging file MTA will create. If this option is NOT
  1659.          present, no log is created (the old NoLog option is deleted).
  1660.          You must supply a valid path (please with drive). MTA will
  1661.          create MTA.LOG inside this directory ! MTL will use this
  1662.          option to read the MTA.LOG file and to create the MTA.NEG
  1663.          file in this directory.
  1664.  
  1665.          If you want a log with a name of your own, or you want MTA
  1666.          to add its log-records to an already present log-file (this
  1667.          could be the log-file of a Mailer or a BBS program), you
  1668.          can use the second option. In this case you must supply
  1669.          not only the path, but also the name of the log-file.
  1670.          If the log-file is not present, MTA will create it, otherwise
  1671.          MTA will append to this file.
  1672.          With the LogStyleFormat option, you can create your own log-file
  1673.          format, so appending to a Mailer-log or BBS-log could be done
  1674.          in a neat way !
  1675.  
  1676.          LogPath (second option), ErrorlogPath (second option) and
  1677.          both PasswordlistPath options can all point to the same
  1678.          log ! MTA will open and close the log every time a record
  1679.          must be written !
  1680.  
  1681.  Relate: LogStyleFormat
  1682.  Dest. : All
  1683.  
  1684.  
  1685.  ┌─────────────────────────────────────────────────────────────────────┐
  1686.  │ ErrorLogPath [path]                                                 │
  1687.  │ ErrorLogPath [full path & filename]                                 │
  1688.  └─────────────────────────────────────────────────────────────────────┘
  1689.  Usage : When you want MTA to create an error log, you MUST include
  1690.          the path to the error-log file MTA will create. The error
  1691.          log is needed in most cases, because MTA (from 10.01 and
  1692.          up) will go on converting even when errors are detected.
  1693.          This is done so BBS's can run MTA in an event.
  1694.          MTA will also display all errors on screen, but it would be
  1695.          handy to let MTA create the error-log so you can do some
  1696.          housekeeping after MTA is ended.
  1697.          If ErrorLogPath is NOT present, MTA WILL not create an
  1698.          error-log.
  1699.  
  1700.          If you want a log with a name of your own, or you want MTA
  1701.          to add its log-records to an already present log-file (this
  1702.          could be the log-file of a Mailer or a BBS program), you
  1703.          can use the second option. In this case you must supply
  1704.          not only the path, but also the name of the log-file.
  1705.          If the log-file is not present, MTA will create it, otherwise
  1706.          MTA will append to this file.
  1707.          With the LogStyleFormat option, you can create your own
  1708.          log-file format, so appending to a Mailer-log or BBS-log
  1709.          could be done in a neat way !
  1710.  
  1711.          LogPath (second option), ErrorlogPath (second option) and
  1712.          both PasswordlistPath options can all point to the same
  1713.          log ! MTA will open and close the log every time a record
  1714.          must be written !
  1715.  
  1716.  Relate: LogStyleFormat
  1717.  Dest. : All
  1718.  
  1719.  
  1720.  ┌─────────────────────────────────────────────────────────────────────┐
  1721.  │ PasswordListPath [path]                                             │
  1722.  │ PasswordListPath [full path & filename]                             │
  1723.  └─────────────────────────────────────────────────────────────────────┘
  1724.  Usage : This option is now obsolete. You should rename it in MTA.CTL
  1725.          to RandomPasswordlistPath.
  1726.  
  1727.  Relate: None
  1728.  Dest. : All
  1729.  
  1730.  
  1731.  ┌─────────────────────────────────────────────────────────────────────┐
  1732.  │ RandomPasswordListPath [path]                                       │
  1733.  │ RandomPasswordListPath [full path & filename]                       │
  1734.  └─────────────────────────────────────────────────────────────────────┘
  1735.  Usage : When you are going to use the /OP@ option (generation of
  1736.          random encryption passwords) or you use /OPpasword (the
  1737.          generation of encrypted files with a standard password), you
  1738.          must (or can, in case of standard passwords) include this
  1739.          option. MTA will create log-records into MTA.PWD (first
  1740.          option) with filenames and used passwords for the encryption.
  1741.          It is STRONGLY advised to use this log so you can read the
  1742.          used passwords in a later stage !!!!!
  1743.          When you use /OP@ without RandomPasswordListPath, MTA will
  1744.          force MTA.PWD to be written in the CURRENT directory. A log
  1745.          must be created in this case, otherwise you can never extract
  1746.          the files again because a random password is used for the
  1747.          encryption !
  1748.  
  1749.          If you want a log with a name of your own, or you want MTA
  1750.          to add its log-records to an already present log-file (this
  1751.          could be the log-file of a Mailer or a BBS program), you
  1752.          can use the second option. In this case you must supply
  1753.          not only the path, but also the name of the log-file.
  1754.          If the log-file is not present, MTA will create it, otherwise
  1755.          MTA will append to this file.
  1756.          With the LogStyleFormat option, you can create your own
  1757.          log-file format, so appending to a Mailer-log or BBS-log
  1758.          could be done in a neat way !
  1759.  
  1760.          LogPath (second option), ErrorlogPath (second option) and
  1761.          both PasswordlistPath options can all point to the same
  1762.          log ! MTA will open and close the log every time a record
  1763.          must be written !
  1764.  
  1765.  Relate: NormalPasswordListPath, LogStyleFormat
  1766.  Dest. : All
  1767.  
  1768.  
  1769.  ┌─────────────────────────────────────────────────────────────────────┐
  1770.  │ NormalPasswordListPath [path]                                       │
  1771.  │ NormalPasswordListPath [full path & filename]                       │
  1772.  └─────────────────────────────────────────────────────────────────────┘
  1773.  Usage : The description for this option is the same as for the previous
  1774.          RandomPasswordListPath, but in this (optional) log, MTA will
  1775.          log all files you have encrypted with the normal /OPpassword
  1776.          option and not the /OP@ random passwords.
  1777.          If you only specify a name, MTA will generate a MTA.NPW file
  1778.          in that directory.
  1779.          This option is NOT forced. If you use /OPpassword and this
  1780.          option is NOT set, a log is NOT created.
  1781.  
  1782.  Relate: RandomPasswordListPath, LogStyleFormat
  1783.  Dest. : All
  1784.  
  1785.  
  1786.  ┌─────────────────────────────────────────────────────────────────────┐
  1787.  │ LogStyleFormat [string]                                             │
  1788.  └─────────────────────────────────────────────────────────────────────┘
  1789.  Usage : MTA creates several log-records under different conditions.
  1790.          You can use the standard log, but Sysop's hate all these
  1791.          different log-files (in general). MTA can create customized
  1792.          log-records. With these options, you can instruct MTA to
  1793.          create records that look the same as the records from your
  1794.          mailer or BBS program. The option LogStyleFormat and the
  1795.          LogDateFormat/LogTimeFormat combination can be used to define
  1796.          the style of the log-records MTA will create for ALL three
  1797.          log-files (normal log-file, error log-file and password-list
  1798.          log-file). These options are implemented with the idea that
  1799.          different log-styles only vary at the start of the records
  1800.          and not at the end.
  1801.  
  1802.          The LogStyleFormat defines the 'structure' of the log-record
  1803.          header. The format is free but with three special cases:
  1804.          - Blanks must be replaced by underscore characters '_';
  1805.          - The part of the record that contains the date must be
  1806.            defined with %D (if a date is wanted);
  1807.          - The part of the record that contains the time must be
  1808.            defined with %T (if a time is wanted);
  1809.          - Any extra CRLF combinations (to create a separation
  1810.            line) must be defined with ^M;
  1811.  
  1812.          An example (also read LogDateFormat and LogTimeFormat for
  1813.          a description of the time and date functions):
  1814.  
  1815.          You want to create records that look like this:
  1816.  
  1817.          +  6 Jan 1990   2:00p   The start of the log
  1818.  
  1819.          The 'The start of the log' part is constructed by MTA itself,
  1820.          so you have only to define the header. This is done as follows:
  1821.  
  1822.          LogStyleFormat +_%D__%T___         (The _ character replaces
  1823.                                             a blank)
  1824.          LogDateFormat  DD_nnn_yyyy
  1825.          LogTimeFormat  HH:mmt
  1826.  
  1827.          %D and %T are replaced by MTA with the date and time formats
  1828.          as supplied in LogDateFormat and LogTimeFormat. MTA.CTL
  1829.          contains a number of examples for the various BBS programs
  1830.          and Mailer programs.
  1831.  
  1832.  
  1833.  Relate: LogStartStyleFormat, LogDateFormat, LogTimeFormat
  1834.  Dest. : All
  1835.  
  1836.  
  1837.  ┌─────────────────────────────────────────────────────────────────────┐
  1838.  │ LogStartStyleFormat [string]                                        │
  1839.  └─────────────────────────────────────────────────────────────────────┘
  1840.  Usage : This is an additional option you can use along with the pre-
  1841.          vious LogStyleFormat option. Some types of log use a special
  1842.          format where the actual date is put into an extra record (with-
  1843.          out any further meaning than logging the date). MTA can create
  1844.          such a record for you. MTA will put the record with the format
  1845.          you supply in LogStartStyleFormat into the log as the first and
  1846.          only record for THIS run of MTA. If MTA stops and is started
  1847.          again, a new record of this type is written.
  1848.          A type of log with this format is found in the FrontDoor <tm>
  1849.          mailer.
  1850.  
  1851.          The options you can use in this logstyle-format are the same
  1852.          as with the LogStyleFormat option.
  1853.  
  1854.  
  1855.  Relate: LogStyleFormat, LogDateFormat, LogTimeFormat
  1856.  Dest. : All
  1857.  
  1858.  
  1859.  ┌─────────────────────────────────────────────────────────────────────┐
  1860.  │ LogDateFormat [string]                                              │
  1861.  └─────────────────────────────────────────────────────────────────────┘
  1862.  Usage : LogDateFormat is used to define the 'date part' (actually the
  1863.          %D) in the LogStyleFormat option. MTA (in fact some nifty
  1864.          routines from TurboPower, credit to those who should have
  1865.          the credits) has knowledge of a big number of options to
  1866.          define the date. The [string] must be composed of a number
  1867.          special letters and (optionally) the separators and spaces
  1868.          between the various parts of actual date. In fact [string]
  1869.          should be a picture mask. The following characters have a
  1870.          meaning in the mask:
  1871.  
  1872.          m or M       The month (upper case will create leading a
  1873.                       leading space as replacement for a zero)
  1874.          d or D       The day   (upper case will create leading a
  1875.                       leading space as replacement for a zero)
  1876.          y or Y       The year  (upper case will create leading a
  1877.                       leading space as replacement for a zero)
  1878.          n or N       The name of the month (upper case will force
  1879.                       an upper case name);
  1880.          w or W       The name of the day   (upper case will force
  1881.                       an upper case name);
  1882.  
  1883.          Each character must be repeated as many times as you want
  1884.          digits or letters. So '90' for the year 1990 is defined
  1885.          with yy and the full year is defined with yyyy. Some
  1886.          examples:
  1887.  
  1888.          mm/dd/yy         01-31-90
  1889.          MM/dd/yy          1-31-90
  1890.          dd/mm/yyyy       31-01-1990
  1891.          dd/mm/yyyy       31-01-1990
  1892.          dd NNN yyyy      31 JAN 1990
  1893.          dd nnn yy        31 Jan 1990
  1894.          dd n yyyy        31 J 1990
  1895.          www dd nnn yyyy  Sun 31 Jan 1990
  1896.  
  1897.          As you can see, lots to experiment with.
  1898.  
  1899.  
  1900.  Relate: LogStyleFormat, LogTimeFormat
  1901.  Dest. : All
  1902.  
  1903.  
  1904.  ┌─────────────────────────────────────────────────────────────────────┐
  1905.  │ LogTimeFormat [string]                                              │
  1906.  └─────────────────────────────────────────────────────────────────────┘
  1907.  Usage : LogTimeFormat is used to define the 'time part' (actually the
  1908.          %T) in the LogStyleFormat option. MTA (in fact some nifty
  1909.          routines from TurboPower, credit to those who should have
  1910.          the credits) has knowledge of a big number of options to
  1911.          define the time. The [string] must be composed of a number
  1912.          special letters and (optionally) the separators and spaces
  1913.          between the various parts of actual date. In fact [string]
  1914.          should be a picture mask. The following characters have a
  1915.          meaning in the mask:
  1916.  
  1917.          h or H       The hour    (upper case will create leading a
  1918.                       leading space as replacement for a zero)
  1919.          m or M       The minute  (upper case will create leading a
  1920.                       leading space as replacement for a zero)
  1921.          s or S       The seconds (upper case will create leading a
  1922.                       leading space as replacement for a zero)
  1923.          t or T       'p'/'P' (in PM) or 'a'/'A' (in AM)
  1924.          e or E       'm'/'M' (in PM or AM)
  1925.  
  1926.          Each character must be repeated as many times as you want
  1927.          digits or letters. For h/H/m/M/s/S this should be two digits
  1928.          to be useful. Some examples:
  1929.  
  1930.          hh:mm            14:00
  1931.          hh:mmt           02:00p
  1932.          HH:mmte           2:00pm
  1933.          HH:mm:ss         14:00:45
  1934.          hh:mm:ss         14:00:45
  1935.  
  1936.          Again, as you can see, lots to experiment with.
  1937.  
  1938.  
  1939.  Relate: LogStyleFormat, LogDateFormat
  1940.  Dest. : All
  1941.  
  1942.  
  1943.  3.14.4 Statements that define the selection of files
  1944.  ────────────────────────────────────────────────────────────────────────
  1945.  MTA contains several statements that define where and what to search
  1946.  for files that must be converted.
  1947.  
  1948.  ┌─────────────────────────────────────────────────────────────────────┐
  1949.  │ DefaultPath [path] {move_to_path}                                   │
  1950.  └─────────────────────────────────────────────────────────────────────┘
  1951.  Usage : You can instruct MTA to work (by default) on a standard
  1952.          directory or on a list of standard directories. You can
  1953.          include up to 255 DefaultPath options. MTA will process
  1954.          all selected files (depending on supplied mask) in all
  1955.          these directories. MTA will only abort if the first
  1956.          supplied directory does not exist, otherwise MTA will go
  1957.          on searching the next directory.
  1958.          If you do not supply a DefaultPath option, MTA will take
  1959.          the current directory or the directory supplied in the /W
  1960.          command-line switch. The working of this switch has influence
  1961.          on the working of any present DefaultPath option.
  1962.          After MTA is done, MTA will switch back to the original
  1963.          (current) directory.
  1964.          You must include drive and the complete (not relative) di-
  1965.          rectory name in [path].
  1966.  
  1967. │        Optionally, you can add a directory as the second parameter
  1968. │        of this option. If {move_to_path} is present, MTA will move
  1969. │        all files in the belonging Defaultpath directory to the di-
  1970. │        recory you supplied overhere. If you use the MoveToPath
  1971. │        option or the /W option, then you will see that that option
  1972. │        overrules the directory(ies) you supplied overhere, so be
  1973. │        sure to use either the combination of two directories in
  1974. │        the DefaultPath option OR the MoveToPath option (/W).
  1975.  
  1976.          If the full-screen selection is used, MTA will only select
  1977.          the first path all other paths are skipped ! All DefaultPath
  1978.          options become obsolete when you include a directory in one
  1979.          of the file-masks on the command-line.
  1980.  
  1981.  Relate: QBBSPaths, RAPaths
  1982.  Dest. : All
  1983.  
  1984.  
  1985.  ┌─────────────────────────────────────────────────────────────────────┐
  1986.  │ QBBSPaths [full name of FLSEARCH.CTL alike file]                    │
  1987.  └─────────────────────────────────────────────────────────────────────┘
  1988.  Usage : When you run MTA in a QuickBBS environment and you don't want
  1989.          to supply all the area's (paths) MTA must work on, then you can
  1990.          supply this option. The additional parameter must point to
  1991.          a FLSEARCH.CTL alike file (or the FLSEARCH.CTL itself, when you
  1992.          did not rename it). You MUST include drive and path.
  1993.  
  1994.          MTA will work on ALL paths that are supplied in this file. If
  1995.          you want some extra paths, then add some extra DefaultPath
  1996.          options to MTA.CTL. All paths from the DefaultPath option,
  1997.          the QBBSPaths option and the RAPaths option are merged together
  1998.          by MTA.
  1999.  
  2000.  Relate: DefaultPath, RAPaths
  2001.  Dest. : All
  2002.  
  2003.  
  2004.  ┌─────────────────────────────────────────────────────────────────────┐
  2005.  │ RAPaths [path to FILES.RA]                                          │
  2006.  └─────────────────────────────────────────────────────────────────────┘
  2007.  Usage : When you run MTA in a Remote Access environment and you don't
  2008.          want to supply all the area's (paths) MTA must work on, then
  2009.          you can supply this option. The additional parameter must be
  2010.          the full drive and path to the FILES.RA file.
  2011.  
  2012.          MTA will work on ALL paths that are supplied in FILES.RA. If
  2013.          you want some extra paths, then add some extra DefaultPath
  2014.          options to MTA.CTL. All paths from the DefaultPath option,
  2015.          the QBBSPaths option and the RAPaths option are merged together
  2016.          by MTA.
  2017.  
  2018.  Relate: DefaultPath, QBBSPaths
  2019.  Dest. : All
  2020.  
  2021.  
  2022.  ┌─────────────────────────────────────────────────────────────────────┐
  2023.  │ RA0 or RA1                                                          │
  2024.  └─────────────────────────────────────────────────────────────────────┘
  2025.  Usage : When you run MTA with the RAPaths option, MTA will assume a
  2026.          layout of FILES.RA for Remote Access 0.04 and lower. Newer
  2027.          versions of Remote Access will have a different structure
  2028.          for this file. If you are running MTA with Remote Access 1.xx
  2029.          (or higher) you must include RA1 into MTA.CTL. RA0 is the
  2030.          default and causes MTA to use the old FILES.RA structure.
  2031.  
  2032.  Relate: RAPaths
  2033.  Dest. : All
  2034.  
  2035.  
  2036.  ┌─────────────────────────────────────────────────────────────────────┐
  2037.  │ DoNot [mask]                                                        │
  2038.  └─────────────────────────────────────────────────────────────────────┘
  2039.  Usage : This parameter is optional. You can direct MTA to exclude
  2040.          some files at all. This option could come in handy when
  2041.          you run a BBS and you want to convert every file to ZIP
  2042.          (example, works with all extensions), but you don't want
  2043.          to convert incoming ZIP files.
  2044.          I should advise NOT TO USE this option, because:
  2045.          - When Reconverting the archives, MTA can initiate a virus
  2046.            scan, if you exclude some incoming files (mostly because
  2047.            of time I think), this test is not done;
  2048.          - Some compressors are capable of compressing files depending
  2049.            on size or speed. When you want the smallest files and the
  2050.            incoming file is compressed on speed, you loose some bytes
  2051.            because MTA does not do a re-compress (based on size);
  2052.          Of course I can think of other reasons to use the DoNot option.
  2053.          You can instruct MTA to exclude some special files or any type
  2054.          of self extracting (SFX) .COM or .EXE file, you pick it out...
  2055.          I would like you to read the chapter on the NoMarked and
  2056.          MarkString options. This also could help you a lot when you
  2057.          only want to re-compress incoming files only once !!!!!!!!!
  2058.  
  2059.          You must supply any valid file-mask (wildcards allowed) in
  2060.          every DoNot option. You can include up to 255 DoNot options.
  2061.          This should be enough to tackle all your problems. As said,
  2062.          you can include any valid wildcard-mask like *.* (I should
  2063.          not include this one), *.ZIP, A??.ARC, Z2-DIFF.* and so on.
  2064.          Like all DISP products of my hand, I included another
  2065.          wildcard (=) character. With this character it is possible
  2066.          to do a 'shifted test'. DoNot =READ excludes all files that
  2067.          contain the string READ (like READme.not, doREAD.ME and so
  2068.          on). The string must match, so =READ will not select RE.AD.
  2069.  
  2070.          When using the /D and AllDisketteFiles options together,
  2071.          files are NEVER excluded. This is also the case when
  2072.          MTA does call to itself (compressed-in-compressed files).
  2073.  
  2074.  Relate: None
  2075.  Dest. : All
  2076.  
  2077.  
  2078.  ┌─────────────────────────────────────────────────────────────────────┐
  2079.  │ NoMarked                                                            │
  2080.  └─────────────────────────────────────────────────────────────────────┘
  2081.  Usage : This is a powerful option for BBS usage and for users with
  2082.          large temporary directories with compressed files.
  2083.          When you supply the NoMarked option, you instruct MTA to do
  2084.          the following:
  2085.  
  2086.          - When a file is selected, MTA looks if its own mark is
  2087.            present in the last 20 bytes of the compressed file.
  2088.            If so, MTA will ignore the file;
  2089.          - After MTA has converted a file, it will put a special
  2090.            marker to the tail of each compressed file, so the next
  2091.            time MTA is executed with the NoMarked option, the file
  2092.            will be ignored.
  2093.  
  2094.          MTA appends/looks for a marker of 20 bytes at the end of
  2095.          the compressed file.
  2096.          This marker has the following format:
  2097.  
  2098.          - 3 binary zeroes;
  2099.          - the word MTA;
  2100.          - 14 bytes of private information, by default 'Your ID here !';
  2101.  
  2102.          All compressors have been tested with this extra information
  2103.          appended and they seem to have no trouble with it. That is not
  2104.          so strange if you know that some communication protocols will
  2105.          append binary zeroes to a file, when transferred, to fill a
  2106.          complete transfer block.
  2107.  
  2108.          A special word about the 14 bytes of information. If everyone
  2109.          should use MTA's default and should download a file, converted
  2110.          with MTA/NoMarked and would like to convert this file again
  2111.          with MTA/NoMarked, the file would be ignored. It is advised
  2112.          to set your own marker with the MarkString option to something
  2113.          more or less private. BBS's could enter their Node/Net/Point
  2114.          number or the name of the SysOp or something like Ghostbuster,
  2115.          Snoopy or whatsoever.
  2116.  
  2117.          NoMarked has no meaning when using /D with the AllFiles option.
  2118.          The mark is not set when the MoveToDir option (/M) is used.
  2119.  
  2120.          Afterwards you can ZAP the appended marks with the supplied
  2121.          MTR.EXE utility.
  2122.  
  2123.  Relate: MoveToDir, /D, MarkString
  2124.  Dest. : All
  2125.  
  2126.  
  2127.  ┌─────────────────────────────────────────────────────────────────────┐
  2128.  │ MarkHeader [string]                                                 │
  2129.  └─────────────────────────────────────────────────────────────────────┘
  2130.  Usage : Normally MTA uses a combination of three binary zeroes and the
  2131.          word MTA as the start of a mark. This header, along with the
  2132.          default or supplied MarkString, will be appended to all
  2133.          processed files when NoMarked (or /MAR) is set to ON. Anyone
  2134.          is able to detect MTA's conversion when such a file is received
  2135.          because of the combination in the header.
  2136.          If you want, for what reason you may think of, receivers not
  2137.          to be able to detect MTA's 'touch' in your archive, you can
  2138.          supply a header of your own. This header must be 6 bytes in
  2139.          length or will be 'stretched' to 6 bytes when you supply less
  2140.          than 6 bytes.
  2141.          Please be careful with this option ! If you supply a non
  2142.          unique header, MTA can fail to detect the mark-string, also
  2143.          MTA could detect marked files that , in fact, are not marked
  2144.          at all.
  2145.  
  2146.  Relate: NoMarked, MarkString
  2147.  Dest. : All
  2148.  
  2149.  
  2150.  ┌─────────────────────────────────────────────────────────────────────┐
  2151.  │ MarkString [string]                                                 │
  2152.  └─────────────────────────────────────────────────────────────────────┘
  2153.  Usage : This option is used in combination with the NoMarked option.
  2154.          Even if you do not use the NoMarked option, it is advised to
  2155.          set the MarkString to something private in case you would
  2156.          like the /MAR option in a later stage.
  2157.  
  2158.          MarkString is used to set the 14 bytes of private information
  2159.          that is part of the 20 bytes appended data when NoMarked is
  2160.          active.
  2161.          The [string] should contain no blanks. You could use underscore
  2162.          characters to separate portions of the information.
  2163.          The obvious thing to do is to use your name for the string,
  2164.          or (in case of BBS) the Zone:Net/Node.Point combination. But
  2165.          you can also use an alias like Ghostbuster, Snoopy or something
  2166.          like that. If you have set the MarkString, you should not have
  2167.          to change it again. When you change the string MTA is unable
  2168.          to detect files as marked when they contain the previous string.
  2169.  
  2170.  Relate: NoMarked, MarkHeader
  2171.  Dest. : All
  2172.  
  2173.  
  2174.  ┌─────────────────────────────────────────────────────────────────────┐
  2175.  │ UnMark                                                              │
  2176.  └─────────────────────────────────────────────────────────────────────┘
  2177.  Usage : This option can be used to let MTA strip (your own!!) mark
  2178.          string from any archive before decompression. Look into the
  2179.          details in the LHARC chapter.
  2180.  
  2181.  Relate: NoMarked, MarkHeader
  2182.  Dest. : All
  2183.  
  2184.  
  2185.  ┌─────────────────────────────────────────────────────────────────────┐
  2186.  │ SFXFiles                                                            │
  2187.  └─────────────────────────────────────────────────────────────────────┘
  2188.  Usage : The most powerful but also most tricky option is last. The
  2189.          SFXFiles option is optional (thank god).
  2190.          When you include SFXFiles, MTA will try to read every file
  2191.          (if the filename is validated to the command-line filespecs)
  2192.          and first test if it's a normal compression file. If it is
  2193.          NOT, it will read the file again (up to 32K of every file)
  2194.          and test if the file is a ARC (SEA/NoGate/PKWare), PAK, ZIP,
  2195.          LHarc or Larc compatible SFX-file (self extraction .EXE or
  2196.          .COM file). If it is, it will try to convert the file to a
  2197.          temporary file and then convert it to the compression system
  2198.          you have supplied.
  2199.          There can occur numerous errors in this test/conversion, but
  2200.          on my system 99.99% of all SFX-files are done correctly. If
  2201.          the SFX is not correct, MTA will go on (or abort depending
  2202.          on the error) but nothing happens with your SFX-file. The
  2203.          change to get 'Compression' or 'Decompression' errors is
  2204.          somewhat bigger.
  2205.          I should suggest to you, to use the option with care, of
  2206.          to use the /SFX switch on the command-line as a temporary
  2207.          replacement.
  2208.  
  2209.  Relate: None
  2210.  Dest. : All
  2211.  
  2212.  
  2213.  3.14.5 Statements that define the resulting files
  2214.  ────────────────────────────────────────────────────────────────────────
  2215.  MTA includes a number of options that will deside what will happen to
  2216.  the resulting converted files. These include optimizing the files, the
  2217.  comments to add and so on.
  2218.  
  2219.  ┌─────────────────────────────────────────────────────────────────────┐
  2220.  │ IncludeFile [drive:path\filename] [newname] {CF$}                   │
  2221.  └─────────────────────────────────────────────────────────────────────┘
  2222.  Usage : This parameter is optional. You can direct MTA to include
  2223.          the supplied file (second parameter) into every converted
  2224.          compression-file. Inside the compressed file this file has
  2225.          the same name or [newname] when you supply the third
  2226.          parameter (must only be a filename without path and drive).
  2227.          This option comes in handy when you want to include a file
  2228.          with information about yourself (or your BBS) into any
  2229.          uploaded file converted with MTA.
  2230.          LHarc (LARC) can work with special files like ! and the
  2231.          AUTOLARC.BAT file, this option can create them for you !
  2232.  
  2233.          MTA copies the file to its own special temporary path every
  2234.          time a compressed file is created. The original file is left
  2235.          intact. You MUST supply a complete path to the original
  2236.          filename.
  2237.  
  2238.          There can be up to 255 IncludeFile options in the MTA.CTL. All
  2239.          files will be included in EVERY converted extension. When you
  2240.          leave out the option, nothing is included (of course !).
  2241.  
  2242.          If you add CF$ as the last parameter, you let MTA know that
  2243.          the file is compressed. MTA will then re-compress the file
  2244.          when creating the new compression file. In this way, your
  2245.          includefile can have a transparent format.
  2246.  
  2247.  Relate: ExcludeFile
  2248.  Dest. : All
  2249.  
  2250.  
  2251.  ┌─────────────────────────────────────────────────────────────────────┐
  2252.  │ ExcludeFile [filename]                                              │
  2253.  └─────────────────────────────────────────────────────────────────────┘
  2254.  Usage : This parameter is optional. You can direct MTA to exclude
  2255.          the supplied file (second parameter) from every converted
  2256.          compression-file.
  2257.          This comes in handy when your favorite BBS includes files
  2258.          like ! and U_read.me in the files he supplies (sorry for the
  2259.          bad joke R.).
  2260.          LHarc (LARC) can work with special files like ! and the
  2261.          AUTOLARC.BAT file, this option can exclude them for you !
  2262.  
  2263.          There can be up to 255 ExcludeFile options in the MTA.CTL. All
  2264.          files will be excluded in EVERY converted extension. When you
  2265.          leave out the option, nothing is excluded (of course !).
  2266.  
  2267.          When you are a BBS and you get uploaded files with files
  2268.          like '!' or 'TheGost.BBS' and you want to convert the files
  2269.          for YOUR BBS, you should know that MTA first excludes files
  2270.          and then includes the new ones. So in the case of the '!'
  2271.          file you could create a MTA.CTL with:
  2272.  
  2273.          ExcludeFile !
  2274.          IncludeFile C:\FILES\MY.! !
  2275.  
  2276.          and the ! is first excluded and then the MY.! is included
  2277.          as ! (so its a replace).
  2278.  
  2279.  Relate: IncludeFile
  2280.  Dest. : All
  2281.  
  2282.  
  2283.  ┌─────────────────────────────────────────────────────────────────────┐
  2284.  │ TouchLow                                                            │
  2285.  └─────────────────────────────────────────────────────────────────────┘
  2286.  Usage : This parameter is optional and controls MTA's touching system.
  2287.          When used, MTA touches (resets the compressed file's time/date
  2288.          stamp) to the lowest date of any file inside the compressed
  2289.          file. See the chapter on this feature.
  2290.  
  2291.  Relate: TouchCur, TouchHig
  2292.  Dest. : All
  2293.  
  2294.  
  2295.  ┌─────────────────────────────────────────────────────────────────────┐
  2296.  │ TouchHig                                                            │
  2297.  └─────────────────────────────────────────────────────────────────────┘
  2298.  Usage : This parameter is optional and controls MTA's touching system.
  2299.          When used, MTA touches (resets the compressed file's time/date
  2300.          stamp) to the highest date of any file inside the compressed
  2301.          file. See the chapter on this feature.
  2302.  
  2303.  Relate: TouchCur, TouchLow
  2304.  Dest. : All
  2305.  
  2306.  
  2307.  ┌─────────────────────────────────────────────────────────────────────┐
  2308.  │ TouchCur                                                            │
  2309.  └─────────────────────────────────────────────────────────────────────┘
  2310.  Usage : This parameter is optional and controls MTA's touching system.
  2311.          When used, MTA touches (resets the compressed file's time/date
  2312.          stamp) to the current date. See the chapter on this feature.
  2313.  
  2314.  Relate: TouchLow, TouchHig
  2315.  Dest. : All
  2316.  
  2317.  
  2318.  ┌─────────────────────────────────────────────────────────────────────┐
  2319.  │ IgnoreTimeComponent                                                 │
  2320.  └─────────────────────────────────────────────────────────────────────┘
  2321.  Usage : This parameter belongs to the MTA touching system. When you
  2322.          want to ignore the time on date/time stamps, you must include
  2323.          this option. MTA will use 00:00:00 as the time on all files
  2324.          when testing. Also the compressed file is touched as 00:00:00.
  2325.  
  2326.  Relate: TouchLow, TouchHig, TouchCur
  2327.  Dest. : All
  2328.  
  2329.  
  2330.  ┌─────────────────────────────────────────────────────────────────────┐
  2331.  │ AcceptHighDate                                                      │
  2332.  └─────────────────────────────────────────────────────────────────────┘
  2333.  Usage : This parameter belongs to the MTA touching system. When you
  2334.          want to include dates that are higher than the current PC's
  2335.          system date/time, you must include this option. This means
  2336.          that a compressed file with a file inside with the date
  2337.          01-07-98 will actually get the date 01-07-98 even when the
  2338.          current date is lower.
  2339.  
  2340.  Relate: TouchLow, TouchHig, TouchCur
  2341.  Dest. : All
  2342.  
  2343.  
  2344.  ┌─────────────────────────────────────────────────────────────────────┐
  2345.  │ NoArcInArc                                                          │
  2346.  └─────────────────────────────────────────────────────────────────────┘
  2347.  Usage : With this option you can instruct MTA NOT to convert compressed
  2348.          files INSIDE the compressed file. There could be cases where
  2349.          you want to use this option. In this case no shelling of a new
  2350.          MTA.EXE is done.
  2351.  
  2352.  Relate: None
  2353.  Dest. : All
  2354.  
  2355.  
  2356.  ┌─────────────────────────────────────────────────────────────────────┐
  2357.  │ OptimizeOnSize                                                      │
  2358.  └─────────────────────────────────────────────────────────────────────┘
  2359. Usage : With this option you can instruct MTA to optimize the
  2360.         destination file to the smallest compressed file, selected
  2361.         from all compressors with a 'Y' as the third parameter in
  2362.         the xxxPATH options.
  2363.  
  2364.  Relate: None
  2365.  Dest. : All
  2366.  
  2367.  
  2368.  ┌─────────────────────────────────────────────────────────────────────┐
  2369.  │ OnlyUpgrade                                                         │
  2370.  └─────────────────────────────────────────────────────────────────────┘
  2371.  Usage : This option does not contain any secondary parameters. When
  2372.          active, MTA will only convert all files not standard to the
  2373.          target compression method AND all files standard to the
  2374.          target compression method BUT with a lower technical level
  2375.          of the actual compression file.  Currently only PAK and ZIP
  2376.          offer two kinds of compressed files that can still be
  2377.          accessed with a newer version but has a lower technical
  2378.          level. For PAK files, this is the Crushed method. MTA will
  2379.          (if you use PAK as target) only convert all non-PAK files
  2380.          AND all PAK-files with crushed files inside.  For ZIP files,
  2381.          this is the reduced (1-4) method. MTA will (if you use ZIP
  2382.          as target) only convert all non-ZIP files AND all ZIP files
  2383.          with reduced (1-4) files inside.  The method is not
  2384.          fail-save in all cases. Some examples:
  2385.  
  2386.          - A ZIP file contains 3 files, 2 shrinked files and one stored;
  2387.            MTA will NOT mark this file as to be upgraded. This is only
  2388.            done when a reduced (1-4) file is inside;
  2389.  
  2390.          Note: The combination Reduced and Imploded in a file WILL trigger
  2391.                MTA to convert.
  2392.  
  2393.  Relate: ZIP, PAK files
  2394.  Dest. : ZIP, PAK
  2395.  
  2396.  
  2397.  ┌─────────────────────────────────────────────────────────────────────┐
  2398.  │ AllDisketteFiles                                                    │
  2399.  └─────────────────────────────────────────────────────────────────────┘
  2400.  Usage : This parameter is optional. You can direct MTA to move ALL
  2401.          (NON-compression files included) from diskette to the paths
  2402.          supplied in FDUTempPath an FDUTrashPath. This option has only
  2403.          meaning with the /D (diskette option) switch.
  2404.          You should use this option when you are using the parameters
  2405.          EXITBeforeFill and EXITAfterFill. When using this option, you
  2406.          get an empty diskette to work with in EXITBeforeFill.
  2407.          You can not use AllDisketteFiles along with /UPGRADE !
  2408.  
  2409.  Relate: EXITBeforeFill, EXITAfterFill
  2410.  Dest. : All
  2411.  
  2412.  
  2413.  ┌─────────────────────────────────────────────────────────────────────┐
  2414.  │ KeepAbnormalExtensions                                              │
  2415.  └─────────────────────────────────────────────────────────────────────┘
  2416.  Usage : With this option you instruct MTA to 'keep' strange extensions
  2417.          in the target file. This only works when the source file has
  2418.          no valid extension (ARC,PAK,PKA,ZIP,ZOO,LZH,LZS,DWC,COM,EXE)
  2419.          and only if the target is something else than DWC (DWC forces
  2420.          the extension to be DWC).
  2421.          So if you have a file JUNK.CPR (it is really a ARC file) and
  2422.          you convert to ZIP, the target name stays JUNK.CPR. If the
  2423.          source is names JUNK.LZH (a ZIP file <grin>) and you convert
  2424.          to ZOO, the target name will be JUNK.ZOO.
  2425.  
  2426.  Relate: None
  2427.  Dest. : All
  2428.  
  2429.  
  2430.  ┌─────────────────────────────────────────────────────────────────────┐
  2431.  │ ReportSpecialAttributes                                             │
  2432.  └─────────────────────────────────────────────────────────────────────┘
  2433.  Usage : This option was already available in MTA 8.xx under the name S1.
  2434.          It was a hidden option, only known to some SysOp's opt BBS's.
  2435.          MTA converts all special attributes in a compressed file (lets
  2436.          say HIDDEN or SYSTEM or READONLY) to a normal attribute of
  2437.          ARCHIVE (X'20'). This is done to prevent files to keep on disk
  2438.          after the compressed file is converted. With some compressors
  2439.          it is possible to compress files with abnormal attributes.
  2440.          When you include this option all files with special attributes
  2441.          are reported in MTA.ERR !
  2442.  
  2443.  
  2444.  Relate: None
  2445.  Dest. : All
  2446.  
  2447.  
  2448.  ┌─────────────────────────────────────────────────────────────────────┐
  2449.  │ KeepAV                                                              │
  2450.  └─────────────────────────────────────────────────────────────────────┘
  2451.  Usage : A very special option that puts MTA right back on the map !
  2452.          ZIP-files can contain a Authenticity Verification (only USA
  2453.          owners). Everywhere in the world, BBS's are receiving these
  2454.          original files. When MTA converts such a file, the AV is gone
  2455.          and that was not the meaning of the AV-function.
  2456.          When you use KeepAV, MTA will keep all source-files with a
  2457.          AV inside ! This means that ZIP's will stay ZIP's even if
  2458.          the target is ZOO, DWC or something else.
  2459.          Also, setting this option, will trigger some special MTA
  2460.          functions. With KeepAV set to ON, you can still delete files
  2461.          from these ZIP's that other Sysop's added to this file, if,
  2462.          and only if, this extra file does NOT contain a AV. Also,
  2463.          you can add comments and files of your own to these files
  2464.          but this is not done in the 'normal' MTA way. In case of
  2465.          a AV'ed file (with KeepAV on), MTA will delete files with
  2466.          'PKZIP -d', add with 'PKZIP -a' and add comments with a
  2467.          special type of 'PKZIP -z' (so no user intervention is
  2468.          needed) and not by UNZIPing the file and ZIPing it again
  2469.          as done in the normal way !
  2470.          MTA will in fact UNZIP the source-file to check for any
  2471.          virus (still, even with AV'ed files), so this feature is
  2472.          still available.
  2473.  
  2474.          KeepAV will also function on ARJ files with a security
  2475.          envelope. In that case, it is impossible to add and delete
  2476.          files from such files and also it is impossible to add any
  2477.          comments.
  2478.  
  2479.          I URGE you to use KeepAV when you use MTA on a BBS. This is
  2480.          a service to your users !
  2481.  
  2482.  
  2483.  Relate: None
  2484.  Dest. : All
  2485.  
  2486.  
  2487. │┌─────────────────────────────────────────────────────────────────────┐
  2488. ││ KeepVolLabel                                                        │
  2489. │└─────────────────────────────────────────────────────────────────────┘
  2490. │Usage : A very special option that can be used in combination with
  2491. │        all archivers that can have volume-labels contained inside
  2492. │        the archives (currently only ARJ and ZIP). Look into chapter
  2493. │        3.37 for a full and detailed description of this option.
  2494. │        WARNING: When using ARJ in the conversion, you must use
  2495. │                 ARJ V 2.10 or higher in combination with this
  2496. │                 option, otherwise errors will occur !
  2497. │Relate: None
  2498. │Dest. : ZIP, ARJ
  2499.  
  2500.  
  2501.  ┌─────────────────────────────────────────────────────────────────────┐
  2502.  │ Description                                                         │
  2503.  └─────────────────────────────────────────────────────────────────────┘
  2504.  Usage : This parameter is optional. If you supply this parameter. MTA
  2505.          orders every compressor (if that function is included) to
  2506.          ASK for a description of the target compressed file. MTA ignores
  2507.          this command with compressors that can't create comments to the
  2508.          compressed file !
  2509.          You can not use this function in conjunction with the option
  2510.          AutoDescription !
  2511.          When you use ZIP as destination, -z and -c (both file and archive
  2512.          comments) are used. This is not valid for versions under 1.00.
  2513.          In this case you must use the ZIPVersion 09x option !
  2514.  
  2515.          NOTE: NEVER use this option when running unattended, because
  2516.                the archivers will prompt you for a comment !!!!!!!!!!
  2517.  
  2518.  Relate: Autodescription, ZIPVersion
  2519.  Dest. : All
  2520.  
  2521.  
  2522.  ┌─────────────────────────────────────────────────────────────────────┐
  2523.  │ Autodescription [filename]                                          │
  2524.  └─────────────────────────────────────────────────────────────────────┘
  2525.  Usage : This parameter is optional. If you supply this parameter, you
  2526.          also have to supply a valid (and available) text-file. This
  2527.          file will be appended to a ZIP, ZOO, ARJ or PAK-file as a
  2528.          comment.
  2529.          The file can be of any kind (ASCII, ANSI or even invalid). MTA
  2530.          reads the first 64000 bytes (or less) of the file and appends
  2531.          this to the archive.
  2532.          When using the (de)compress on this file, these programs will
  2533.          display the appended file as a header. Very nice option for
  2534.          BBS systems, but remember, use PKUNZIP's -q option to display
  2535.          ANSI screens. For BBS's, in general it is recommended to only
  2536.          add ASCII files.
  2537.          Up from release 12.50, you can use AutoComment along with
  2538.          the CarryComment statement ! Look into the description of
  2539.          this option for details;
  2540.  
  2541.          One piece of advise for PAK, ZOO and ARJ descriptions. MTA uses
  2542.          a quick and dirty way to add to such a file. Be sure not to
  2543.          include multiple CRLF combinations for these archivers. If
  2544.          PAK or ZOO detects one (due to the method of adding) the
  2545.          remaining part of the text is gone in the target file. En-
  2546.          hancement for this is scheduled for some of the maintenance
  2547.          releases;
  2548.  
  2549.  Relate: Description
  2550.  Dest. : ARJ, ZIP, ZOO, PAK
  2551.  
  2552.  
  2553.  3.14.6 Your own (new) compressor
  2554.  ────────────────────────────────────────────────────────────────────────
  2555.  The following statements can be used to define a compressor that is
  2556.  not (yet) included in MTA. If you find a compressor that meets the
  2557.  standard to be included into MTA then please contact the author.
  2558.  
  2559.  ┌─────────────────────────────────────────────────────────────────────┐
  2560.  │ OwnCompressPath {drive}{path}[filename] {opt} {SWAP}                │
  2561.  └─────────────────────────────────────────────────────────────────────┘
  2562.  Usage : You can instruct MTA to include an extra compressor of your
  2563.          own taste. This can be almost any compressor, but look in
  2564.          the paragraph 'Customized compression' for the specs on
  2565.          (de)compressors.
  2566.          With this option you supply the full filename (name and
  2567.          extension and optional path and drive) of the customized
  2568.          compressor. This has to be a valid filename.
  2569.  
  2570.          {opt} and {SWAP} have the same meaning as with all other
  2571.          xxxPath options (see start of this chapter), so {opt} to
  2572.          (de)select this archiver for optimalisation and {SWAP} to
  2573.          force MTA to swap before the compressor is called;
  2574.  
  2575.  
  2576.  Relate: All Own-options
  2577.  Dest. : OWN
  2578.  
  2579.  
  2580.  ┌─────────────────────────────────────────────────────────────────────┐
  2581.  │ OwnDeCompressPath {drive}{path}[filename] {opt} {SWAP}              │
  2582.  └─────────────────────────────────────────────────────────────────────┘
  2583.  Usage : You can instruct MTA to include an extra decompressor of your
  2584.          own taste. This can be almost any decompressor, but look in
  2585.          the paragraph 'Customized compression' for the specs on
  2586.          (de)compressors.
  2587.          With this option you supply the full filename (name and
  2588.          extension and optional path and drive) of the customized
  2589.          decompressor. This has to be a valid filename.
  2590.  
  2591.          {opt} and {SWAP} have the same meaning as with all other
  2592.          xxxPath options (see start of this chapter), {opt} has no
  2593.          function with a decompressor and {SWAP} is used to force
  2594.          MTA to swap before the decompressor is called;
  2595.  
  2596.  
  2597.  Relate: All Own-options
  2598.  Dest. : any, source is OWN
  2599.  
  2600.  
  2601.  ┌─────────────────────────────────────────────────────────────────────┐
  2602.  │ OwnCompressCall [parameters to use]                                 │
  2603.  └─────────────────────────────────────────────────────────────────────┘
  2604.  Usage : When you include a customized compressor, you have to supply
  2605.          the call to that compressor. This call must do the following:
  2606.          - Compress all files in the current path to the compression
  2607.            file;
  2608.          - delete all original files from the directory;
  2609.          - or compress all files with a MOVE (not COPY) option;
  2610.          The syntax for the [parameters to use] depends on the compress.
  2611.          Look in the paragraph 'Customized Compression' for an example.
  2612.          There is one option you can include in the [parameter to use]
  2613.          and that is the %1 combination. MTA will substitute %1 with
  2614.          the name of the compressed file.
  2615.  
  2616.  
  2617.  Relate: All Own-options
  2618.  Dest. : OWN
  2619.  
  2620.  
  2621.  ┌─────────────────────────────────────────────────────────────────────┐
  2622.  │ OwnDeCompressCall [parameters to use]                               │
  2623.  └─────────────────────────────────────────────────────────────────────┘
  2624.  Usage : When you include a customized decompressor, you have to supply
  2625.          the call to that decompressor. This call must do the following:
  2626.          - Extract all files from the compressed file to the current
  2627.            path;
  2628.          The syntax for the [parameters to use] depends on the
  2629.          compressor. Look in the paragraph 'Customized Compression'
  2630.          for an example. There is one option you can include in the
  2631.          [parameters to use] and that is the %1 combination. MTA will
  2632.          substitute %1 with the name of the compressed file.
  2633.  
  2634.  
  2635.  
  2636.  Relate: All Own-options
  2637.  Dest. : All, source is OWN
  2638.  
  2639.  
  2640.  ┌─────────────────────────────────────────────────────────────────────┐
  2641.  │ OwnCompressLowErrorRC [errornumber]                                 │
  2642.  └─────────────────────────────────────────────────────────────────────┘
  2643.  Usage : When you include a customized compressor, you have to supply
  2644.          the LOWEST dos errorlevel given by the compressor when
  2645.          something is WRONG. This must be any number between 1 and 255.
  2646.  
  2647.  
  2648.  Relate: All Own-options
  2649.  Dest. : OWN
  2650.  
  2651.  
  2652.  ┌─────────────────────────────────────────────────────────────────────┐
  2653.  │ OwnDecompressLowErrorRC [errornumber]                               │
  2654.  └─────────────────────────────────────────────────────────────────────┘
  2655.  Usage : When you include a customized decompressor, you have to supply
  2656.          the LOWEST dos errorlevel given by the decompressor when
  2657.          something is WRONG. This must be any number between 1 and 255.
  2658.  
  2659.  
  2660.  Relate: All Own-options
  2661.  Dest. : All, source OWN
  2662.  
  2663.  
  2664.  ┌─────────────────────────────────────────────────────────────────────┐
  2665.  │ OwnExtension [extension]                                            │
  2666.  └─────────────────────────────────────────────────────────────────────┘
  2667.  Usage : When you want MTA to 'see' your customized compressed files,
  2668.          you have to supply the name of the extension MTA has to look
  2669.          for. This can only be 1 extension (e.g. OWN).
  2670.          For every file that confirms to the supplied wildcards, MTA
  2671.          will FIRST look if it has an 'OwnExtension'. In that case
  2672.          MTA will decompress the file with the supplied decompressor.
  2673.          If the destination is OWN, MTA instruct the customized
  2674.          compressor to create files with extension 'OwnExtension'.
  2675.  
  2676.  
  2677.  Relate: All Own-options
  2678.  Dest. : All, including source OWN
  2679.  
  2680.  
  2681.  ┌─────────────────────────────────────────────────────────────────────┐
  2682.  │ OwnRecursive                                                        │
  2683.  └─────────────────────────────────────────────────────────────────────┘
  2684.  Usage : When you implement an own compressor, you have to tell MTA
  2685.          if that compressor is capable of handling recursive support.
  2686.          This means that the compressor will look in the current and
  2687.          all lower directories. If the customized compressor can not
  2688.          handle recursive support, you have to leave this option out.
  2689.  
  2690.  
  2691.  Relate: All Own-options
  2692.  Dest. : OWN
  2693.  
  2694.  
  2695.  3.14.7 Statements that define the MTA exits
  2696.  ────────────────────────────────────────────────────────────────────────
  2697.  The following statements can be used to define one or more exits. An
  2698.  exit a sort of hook in the MTA execution process. The several exits
  2699.  (hooks) are called at special places while MTA is executing on one or
  2700.  more files. The user can 'hook into' the process when one or more exits
  2701.  are defined in MTA.CTL.
  2702.  
  2703.  ┌─────────────────────────────────────────────────────────────────────┐
  2704.  │ VirusScanner [screen] [errorlevel] [scanner] [parm] {parm}..{parm}  │
  2705.  └─────────────────────────────────────────────────────────────────────┘
  2706.  Usage : MTA is able to call up to 10 virus-scanners per archive, to
  2707.          check the uncompressed files for viri. MTA is able to implement
  2708.          any type of 'normal' virus-scanner that looks like the famous
  2709.          SCAN by McAfee. Normally you should implement your favourite
  2710.          scanner but you can also implement more than one scanner. Each
  2711.          of the scanners is called until either:
  2712.          - One of them has found a virus;
  2713.          - The all are executed without any found virus;
  2714.          With the current version of MTA, up to 10 scanners can be in-
  2715.          cluded. If a file contains a virus, the archive is moved to
  2716.          the error-directory and marked with special 0-byte files. Also
  2717.          further processing of THIS file is aborted and MTA will start
  2718.          working on the next archive.
  2719.  
  2720.          [screen] must be present and must be either 'B' or 'D'. 'B'
  2721.          means that this virus-scanner uses BIOS writes and can be
  2722.          executed inside the small MTA DOS-window. 'D' means that this
  2723.          scanner does direct screen updating and in that case MTA will
  2724.          make a full (empty) screen available for the scanner. Some of
  2725.          the scanners (like TBScan) can do either of the both, depen-
  2726.          ding on a parameter. Be sure to implement the correct value
  2727.          for [screen] of the MTA screen will look silly while executing
  2728.          the scanner;
  2729.  
  2730.          [errorlevel] must be set to a value between 0 and 255. You
  2731.          must set this parameter to the errorlevel value that this
  2732.          scanner will return when a virus is detected. As a unwritten
  2733.          standard, all current scanners (SCAN, HTScan, TBScan) take
  2734.          1 as the errorlevel for a detected virus. If a scanner imple-
  2735.          ments several errors under one errorlevel, you can not use
  2736.          that scanner. You should ask for a change ! MTA is tested
  2737.          with SCAN by McAfee, HTScan by Thijssen and TBScan by Veldman.
  2738.          Examples for all three are included in the sample MTA.CTL !
  2739.  
  2740.          [scanner] must be the drive, path and filename of the scanner
  2741.          itself (like C:\NOVIRUS\SCAN.EXE).
  2742.  
  2743.          [parm] is up to you. At least 1 parameter should be included.
  2744.          MTA offers the %D and %F parameters. The %D is substituted
  2745.          with the directory (drive included) to perform the scan on.
  2746.          There is no trailing backslash and no filemask.
  2747.          %F is substituted with the drive, directory AND *.*, so it
  2748.          is an enhancement on %D.
  2749.          You can include several other parameters, depending on the
  2750.          type of scanner you use. %D OR %F must be at least one of
  2751.          them. Two examples, where the current decompressed files are
  2752.          in C:\MTA\1456AB67:
  2753.  
  2754.          ... C:\NOVIRUS\SCAN.EXE %D /NOPAUSE
  2755.          ... C:\NOVIRUS\HTSCAN.COM %D /A /B
  2756.  
  2757.          {parm} can be none to any number of extra parameters that you
  2758.          would like to pass to this scanner.
  2759.  
  2760.          WARNING: Never forget to check if the scanner will halt for
  2761.                   a prompt. If this is the case and you run unattended,
  2762.                   you could have a problem. If you run attended, this
  2763.                   makes no difference. Most scanners implement a type
  2764.                   of 'No-prompt' mode, like /NOPAUSE with SCAN. Be sure
  2765.                   to set it somewhere in [parm] or {parm}.
  2766.  
  2767.  
  2768.  Relate: None
  2769.  Dest. : All
  2770.  
  2771.  
  2772.  ┌─────────────────────────────────────────────────────────────────────┐
  2773.  │ VirusScanParm [parm] {parm} {parm}                                  │
  2774.  └─────────────────────────────────────────────────────────────────────┘
  2775.  This option is now obsolete and replaced with VirusScanner parameters.
  2776.  
  2777.  
  2778.  ┌─────────────────────────────────────────────────────────────────────┐
  2779.  │ EXITBeforeStart program option option option                        │
  2780.  └─────────────────────────────────────────────────────────────────────┘
  2781.  Usage : This parameter is optional. You can direct MTA to execute an
  2782.          other program (or batch-file) before MTA starts the search
  2783.          and conversion of the files. This could be handy when you
  2784.          use a cache device. You can instruct the cache to (temporary)
  2785.          disable its execution because the conversion could influence
  2786.          the optimization of the cache. Due to the whole process
  2787.          of MTA, the only benefit you will have when the cache is
  2788.          active, is one per archive (unpacking, remembering the
  2789.          unpacked files, if not to big..., packing).
  2790.          Besides of cache you can use this exit for any general
  2791.          purpose.
  2792.          See example in MTA__BAT.EXE file, supplied with MTA !
  2793.  
  2794.  Relate: EXITBeforeEnd
  2795.  Dest. : All
  2796.  
  2797.  
  2798.  ┌─────────────────────────────────────────────────────────────────────┐
  2799.  │ EXITBetweenConversion program option option option %1               │
  2800.  └─────────────────────────────────────────────────────────────────────┘
  2801.  Usage : This parameter is optional. You can direct MTA to execute an
  2802.          other program (or batch-file) after MTA has decompressed a
  2803.          file. The obvious usage should be to automatically sort the
  2804.          temporary directory on filename (as is not the case when you
  2805.          decompress a ZIP-file) or to create files with CRC's and
  2806.          directories to be included in the new compressed files.
  2807.  
  2808.          MTA preserves the screen BEFORE the external call is made.
  2809.          All parameters after the option are passed to a child DOS
  2810.          shell (COMMAND.COM /Cyour commands follow here). Inside
  2811.          the parameters you can code three special parameters:
  2812.          %1   This parameter can occur anywhere in the option. MTA
  2813.               will substitute this parameter with the relative path
  2814.               where the uncompressed files are. This parameter is
  2815.               in fact superfluous, because you ARE in this directory
  2816.               when the call to the exit is made;
  2817.          %2   MTA will substitute this parameter with the name (not
  2818.               the extension) of the compressed file to be created;
  2819.          %3   MTA will substitute this parameter with the extension
  2820.               (without the point, so LZH and not .LZH) of the
  2821.               compressed file to be created (can be used to test the
  2822.               target type in most situations);
  2823.          Note that %1, %2 and %3 are all optional and don't have to
  2824.          be the first, second and third parameter in the command-line.
  2825.          This means that %1, %2 and %3 coded here, don't have to be
  2826.          %1, %2 and %3 in the batch-file you call (if you call a batch
  2827.          file). For example:
  2828.          ExitBetweenConversion C:\MYBATCH.BAT /A /B %1 /C %2 %3
  2829.          must result in a batch containing %1 to %6, where %3 in
  2830.          the BATCH equals %1 in this option, %5 in the batch to
  2831.          %2 in this option and %6 (of course) to %3 in this option.
  2832.          See example in MTA__BAT.EXE file, supplied with MTA !
  2833.  
  2834.  Relate: None
  2835.  Dest. : All
  2836.  
  2837.  
  2838.  ┌─────────────────────────────────────────────────────────────────────┐
  2839.  │ EXITAfterCompression program option option option %1 %2 %3          │
  2840.  └─────────────────────────────────────────────────────────────────────┘
  2841.  Usage : This parameter is optional. You can direct MTA to execute an
  2842.          other program (or batch-file) after MTA has re-compressed a
  2843.          file. The obvious usage should be to AUTOMATICALLY create a SFX
  2844.          file of the compressed file, but you can supply almost any
  2845.          program.
  2846.          MTA preserves the screen BEFORE the external call is made.
  2847.          All parameters after EXITAfterFill are passed to a child
  2848.          DOS-shell (COMMAND.COM /Cyour commands follow here). Inside
  2849.          the parameters you can code three special parameters (%1, %2
  2850.          and %3). They can occur everywhere inside the options.
  2851.          When MTA calls the supplied program (batch) is passes all the
  2852.          parameters but substitutes %1 with the path (without a trailing
  2853.          backslash), %2 with the filename and %3 with the compression
  2854.          type (e.g. ARC, LZS, ZOO).
  2855.          You can use these parameters in a batch-file to trigger one
  2856.          or more special functions, depending on the compression type.
  2857.          When the called program (batch) does not use one or more of
  2858.          these special parameters, you can leave them out.
  2859.  
  2860.          THIS IS A VERY POWERFUL OPTION AND CARRIES SOME RISKS !
  2861.          You can blow MTA sky high with this option, when you are
  2862.          doing some strange things in the exit. MTA will look after
  2863.          exit for the following things:
  2864.          - Is the original compression file still available. MTA
  2865.            ignores the remainder of the process (for this file) when
  2866.            you delete the file in the exit, so this should not give
  2867.            any problems;
  2868.          - Is there a new file with the same name but with the
  2869.            extension .COM or .EXE. If so, all manipulations to the
  2870.            original compressed file are also carried out on the .EXE
  2871.            and .COM files;
  2872.  
  2873.          See example in MTA__BAT.EXE file, supplied with MTA !
  2874.  
  2875.  Relate: None
  2876.  Dest. : All
  2877.  
  2878.  
  2879.  ┌─────────────────────────────────────────────────────────────────────┐
  2880.  │ EXITBeforeFill program option option option                         │
  2881.  └─────────────────────────────────────────────────────────────────────┘
  2882.  Usage : This parameter is optional. You can direct MTA to execute an
  2883.          other program (or batch-file) before MTA starts with filling
  2884.          the converted diskette. The obvious usage should be a format
  2885.          of the diskette, but you can supply almost any program.
  2886.          MTA preserves the screen BEFORE the external call is made. The
  2887.          option only works with the /D switch active !
  2888.          Please notice that when this parameter is used to FORMAT the
  2889.          diskette, you also must supply AllDisketteFiles because only
  2890.          then you are sure that the diskette is empty !
  2891.          All parameters after EXITBeforeFill are passed to a child
  2892.          DOS-shell (COMMAND.COM /Cyour commands follow here).
  2893.          See example in MTA__BAT.EXE file, supplied with MTA !
  2894.  
  2895.  Relate: AllDisketteFiles, EXITAfterFill
  2896.  Dest. : All
  2897.  
  2898.  
  2899.  ┌─────────────────────────────────────────────────────────────────────┐
  2900.  │ EXITAfterFill program option option option                          │
  2901.  └─────────────────────────────────────────────────────────────────────┘
  2902.  Usage : This parameter is optional. You can direct MTA to execute an
  2903.          other program (or batch-file) after MTA has filled the
  2904.          converted diskette. The obvious usage should be a disk catalog
  2905.          program, but you can supply almost any program.
  2906.          MTA preserves the screen BEFORE the external call is made. The
  2907.          option only works with the /D switch active !
  2908.          All parameters after EXITAfterFill are passed to a child
  2909.          DOS-shell (COMMAND.COM /Cyour commands follow here).
  2910.          See example in MTA__BAT.EXE file, supplied with MTA !
  2911.  
  2912.  Relate: AllDisketteFiles, EXITBeforeFill
  2913.  Dest. : All
  2914.  
  2915.  
  2916.  ┌─────────────────────────────────────────────────────────────────────┐
  2917.  │ EXITBeforeEnd program option option option                          │
  2918.  └─────────────────────────────────────────────────────────────────────┘
  2919.  Usage : This parameter is optional. You can direct MTA to execute an
  2920.          other program (or batch-file) before MTA ends.
  2921.          This exit could be used to reverse the process started (or
  2922.          stopped) in the EXITBeforeStart, but you can implement any
  2923.          general purpose routine over here.
  2924.          See example in MTA__BAT.EXE file, supplied with MTA !
  2925.  
  2926.  Relate: EXITBeforeStart
  2927.  Dest. : All
  2928.  
  2929.  
  2930.  
  2931.  3.14.8 Statements that are usefull to Bulletin Board Systems and SysOps
  2932.  ────────────────────────────────────────────────────────────────────────
  2933.  The following statements can be used to define one or more exits. An
  2934.  exit a sort of hook in the MTA execution process. The several exits
  2935.  (hooks) are called at special places while MTA is executing on one or
  2936.  more files. The user can 'hook into' the process when one or more exits
  2937.  are defined in MTA.CTL.
  2938.  
  2939.  ┌─────────────────────────────────────────────────────────────────────┐
  2940.  │ CarryComment [type] [extra comment]                                 │
  2941.  └─────────────────────────────────────────────────────────────────────┘
  2942.  Usage : CarryComment is optional. If you supply a CarryComment option,
  2943.          you must also include a [type]. [type] must be a '1', '2' or
  2944.          '3'. Every type has a special function, but only one can be
  2945.          used (but overruled with the /CARCOM[type] command-line option).
  2946.  
  2947.          When you include a CarryComment option, you instruct MTA to
  2948.          carry over any ARCHIVE comment contained in a PAK/ZIP/ZOO/ARJ
  2949.          source file to the target file, if the target is PAK, ZIP,ARJ
  2950.          or ZOO. The carry will be done in one of three ways, depending
  2951.          on the type.
  2952.  
  2953.          [Type] set to 1 : MTA will carry over the comment (up to
  2954.                            256 bytes) from the source file, if a
  2955.                            comment is available;
  2956.  
  2957.          [Type] set to 2 : MTA will first look into the source file
  2958.                            and will remember up to 256 bytes of the
  2959.                            comment (if any).
  2960.                            After conversion, MTA will look into the
  2961.                            file you supplied in the FilesBBS option
  2962.                            (if you did supply this option). If the
  2963.                            file has a record inside the FILES.BBS
  2964.                            (or alike file), this comment is taken
  2965.                            and not the comment in the source file.
  2966.                            If no comment is available, MTA will use
  2967.                            the comment from the source file (if any);
  2968.  
  2969.          [Type] set to 3 : MTA will always look into the FILES.BBS
  2970.                            (or alike) file. This is only valid when
  2971.                            you use the FilesBBS option. If a record
  2972.                            is available, the comment is carried over
  2973.                            to the target file. If no record is available
  2974.                            the target also will not have any comment;
  2975.  
  2976.          When you include [extra comment], you have the option to
  2977.          add (in front) some extra comment to the archive. This can
  2978.          be used when you want a combination of (lets say) a
  2979.          description of the archive AND your personal comment.
  2980.          CarryComment 2 MTA_Node_Here (and a description of (lets say)
  2981.          'A special file for you', will create:
  2982.          'MTA Node Here A special file for you' (there will be a
  2983.          CRLF between the special comment and the description).
  2984.          Any spaces inside the special comment MUST be replaced with
  2985.          the underscore character. MTA will translate it back to spaces.
  2986.          If there is NO comment available but the special comment is
  2987.          set to a value, MTA will add the special comment without any
  2988.          other comment.
  2989.  
  2990.          You can make a combination of the AutoComment (when the
  2991.          destination is ZIP) and the CarryComment option. In this
  2992.          case MTA will add a combined comment into the ZIP-file.
  2993.          In the combination the AutoComment file comes first and
  2994.          the comment constructed by the CarryComment statement comes
  2995.          directly (without a linefeed) after this comment. Please
  2996.          keep in mind to keep some empty tailing lines in the file
  2997.          pointed by AutoComment otherwise a not so nice display
  2998.          of the comment will happen when the ZIP-file is viewed or
  2999.          extracted.
  3000.  
  3001.          Please also read the info on the FilesBBS option and the
  3002.          AddFilesBBS option.
  3003.  
  3004.  Relate: FilesBBS, AddFilesBBS
  3005.  Source: ZIP/PAK/ZOO/ARJ
  3006.  Dest. : ZIP/PAK/ZOO/ARJ
  3007.  
  3008.  
  3009.  ┌─────────────────────────────────────────────────────────────────────┐
  3010.  │ FilesBBS {optional name}                                            │
  3011.  └─────────────────────────────────────────────────────────────────────┘
  3012.  Usage : With this option you can instruct MTA to change converted
  3013.          filenames in:
  3014.          -a) A file (like FILES.BBS) in the current directory;
  3015.          -b) A fixed file in a directory pointed by you.
  3016.          To get the most of this option, you must understand that
  3017.          this option can have various formats depending on what you
  3018.          want. Basically the following formats are allowed and do the
  3019.          following things:
  3020.  
  3021.          - FilesBBS
  3022.            You supply only the FilesBBS keyword. This means you
  3023.            instruct MTA to change filenames in the file FILES.BBS
  3024.            in the directory MTA is working on (if file is present);
  3025.          - FilesBBS filename
  3026.            You supply FilesBBS with only a filename (no path/drive).
  3027.            This means you instruct MTA to change filenames in the
  3028.            file supplied by 'filename' in the directory MTA is working
  3029.            on (if the file is present). FilesBBS FILES.BBS has the
  3030.            same meaning as if you coded only FilesBBS;
  3031.          - FilesBBS drive:path\filename
  3032.            You supply FilesBBS with a fully qualified filename
  3033.            (including drive and path-name). This means you instruct MTA
  3034.            to change filenames only in THIS file in THIS directory.
  3035.            This comes in handy when all files are in one single master
  3036.            directory file (like RBBS).
  3037.  
  3038.          When you don't use the FilesBBSFormat option (described later),
  3039.          MTA will search for filenames in position 1 in each record
  3040.          and with the format FILENAME.EXT (upper- and lower case).
  3041.          Changes are made after every conversion. If MTA aborts on an
  3042.          operation, all previous filenames are changed.
  3043.  
  3044.          When you run an ExitAfterCompression shell and in this shell
  3045.          you convert a compressed file to a SFX-file and you delete
  3046.          the original compressed file, MTA changes the FILES.BBS
  3047.          entry to the SFX-name. If you keep the compression-file after
  3048.          making a SFX-file, MTA changes the FILES.BBS to the new name
  3049.          of the compressed file AND NOT the SFX-file.
  3050.          So, for example, you have A.ZIP and you convert it (with
  3051.          MTA) to A.LZH and in the ExitAfterCompression you create
  3052.          a A.COM and delete the A.LZH, the FILES.BBS is changed from
  3053.          A.ZIP to A.COM. The same goes for .EXE. When both .COM and
  3054.          .EXE are created (?), MTA takes the .COM.
  3055.  
  3056.          Up from version 11.01, MTA will also change sizes in the
  3057.          FILES.BBS alike file. This should only be the case with
  3058.          files that actually contain the file-length in the FILES.BBS
  3059.          alike file itself like the RBBS master directory. When
  3060.          converted to .COM or .EXE files (while deleting the original
  3061.          target file), MTA will adjust the size to the actual .COM
  3062.          or .EXE size.
  3063.  
  3064.          If comments in the FILES.BBS alike file start with a download
  3065.          counter (e.g. FILENAME.EXT [01] Downloaded once), and you use
  3066.          the CarryComment option (types 2 or 3), MTA will strip the
  3067.          download-counter (only when the format is [nnnn]) from the
  3068.          description that will be added to the archive (not in the
  3069.          FILES.BBS alike file).
  3070.  
  3071.          This option can also be used in a NON-BBS environment where
  3072.          4Dos is installed and used. Read the comments on 4Dos, later
  3073.          in this documentation.
  3074.  
  3075.          When the FilesBBS option is active and MTA detects a defective
  3076.          archive, MTA will move this archive to the supplied error-path
  3077.          or the temporary error-path and along with that, the entry in
  3078.          the FILES.BBS alike file is copied (NOT moved) to a FILES.BBS
  3079.          alike file (with same name and structure) in the error-path.
  3080.          If such a file exists (when you have defined a default error-
  3081.          path), the record is appended to this file. The original com-
  3082.          ment will also stay in the original FILES.BBS alike file.
  3083.          When the FILES.BBS-alike file is only on one fixed place (you
  3084.          did add a path to this option) this option is NOT triggered;
  3085.  
  3086.  Relate: FilesBBSFormat
  3087.  Dest. : All
  3088.  
  3089.  
  3090.  ┌─────────────────────────────────────────────────────────────────────┐
  3091.  │ AddFilesBBS                                                         │
  3092.  └─────────────────────────────────────────────────────────────────────┘
  3093.  Usage : This option can be used to tell MTA to add the name and
  3094.          optional description to the file pointed to by the FilesBBS
  3095.          option if it is NOT present in this file already. This option
  3096.          will only function when the FilesBBS option is also set to
  3097.          on. When you use the CarryComment (1 or 2) option, MTA will
  3098.          also add any description in the original (and now converted)
  3099.          archive to this file. The format of the records to be added
  3100.          is the same as described by the FilesBBSFormat option.
  3101.  
  3102.  Relate: FilesBBSFormat, FilesBBS, CarryComment
  3103.  Dest. : All
  3104.  
  3105.  
  3106.  ┌─────────────────────────────────────────────────────────────────────┐
  3107.  │ FilesBBSFormat [name] [extension] [comment]                         │
  3108.  └─────────────────────────────────────────────────────────────────────┘
  3109.  Usage : This option can be used to tell MTA something about the
  3110.          internal format of the FILES.BBS alike file.
  3111.          Under default conditions, MTA expects the filename to start on
  3112.          position 1 of each line, with a filename format for name.ext
  3113.          (with a point between the name and the extension) and the
  3114.          comment to start on position 14. When your FILES.BBS alike
  3115.          file (if you use any) is different, you must use this option
  3116.          to set the new format.
  3117.          The FilesBBSFormat option has three parameters. The first ([name])
  3118.          must contain the position where the filename starts. The second
  3119.          ([extension]) tells MTA where the extension starts. If the
  3120.          filename and extension are 'glued' together with a point (e.g.
  3121.          MTA.EXE), [name] and [extension] must both contain the same
  3122.          value and [name] must be the position where the filename starts
  3123.          in the line. Two examples
  3124.  
  3125.          - Records are made up like FILENAME EXT (ext always starts on
  3126.            position 10, and the name on position 1). You must use 1
  3127.            for [name] and 10 for [extension].
  3128.          - Records are made up like FILE.EXT and the filename always
  3129.            starts on position 20. You must use 20 for both [name] and
  3130.            [extension].
  3131.  
  3132.          [comment] must point to the starting position of the file
  3133.          comment. If the file does not contain comments you can use
  3134.          a value of 255 for [comment]. If the files (can) contain
  3135.          'floating' comments, you must supply a different format of
  3136.          this option. In this case, do not code the position, but
  3137.          supply a 'I' (without quotes) and the ITEM number. An example:
  3138.  
  3139.          A Filename Size Comment
  3140.  
  3141.          In this example, the comment is ITEM number 4. Each item
  3142.          must be (at least) separated with one or more spaces.
  3143.  
  3144.          The FilesBBSFormat option only has a meaning when the FilesBBS
  3145.          option is used also !
  3146.  
  3147.  Relate: FilesBBS
  3148.  Dest. : All
  3149.  
  3150.  
  3151.  ┌─────────────────────────────────────────────────────────────────────┐
  3152.  │ TICKFiles [mask]                                                    │
  3153.  └─────────────────────────────────────────────────────────────────────┘
  3154.  Usage : Until now, all previous BBS-options had to do with normal
  3155.          FILES.BBS alike type of files. The following options do some-
  3156.          thing with other types of files.
  3157.          The TICKFiles option makes it possible to pick up the descrip-
  3158.          tion of a certain file from a TICK-file (*.TIC). When you get
  3159.          your files into the inbound directory and the *.TIC files along
  3160.          with them, you can now convert them (and optionally move them)
  3161.          to any other system, while MTA will try to extract the comment
  3162.          of the file from the associated TICK-file. You can do two types
  3163.          of things with these comments. You can add them to FILES.BBS
  3164.          (if AddFILESBBS is set to on) AND you can store them in the
  3165.          header of the archive (comment) when CaryComment is set to on.
  3166.  
  3167.          If CarryComment is on (independent of the type 1,2 or 3), MTA
  3168.          will search for the comment in the old archive-header, the
  3169.          FILES.BBS or both. If TICKFiles is set to on AND MTA can find
  3170.          a description in any of the TICK-files, this comment will then
  3171.          always overrule the comment from the FILES.BBS or the old
  3172.          header.
  3173.  
  3174.          [mask] must point to a drive, path and filemask (wildcards
  3175.          can be included). For example you can let it point to your
  3176.          inbound directory (e.g. C:\INBOUND\*.TIC). You can inplement
  3177.          multiple TICKFILES options to point to different masks and/or
  3178.          directories for example:
  3179.          - TICKFiles C:\INBOUND1\*.TIC
  3180.          - TICKFiles C:\INBOUND1\*.BAD
  3181.          - TICKFiles C:\INBOUND2\*.TIC
  3182.          - TICKFiles C:\INBOUND2\*.BAD
  3183.          Up to 255 (!) TICKFiles options can be included.
  3184.  
  3185.          The TICK-files are ALL searched (for every converted archive)
  3186.          until either:
  3187.          - a description is found;
  3188.          - all files are processed and no description was found;
  3189.          MTA will search for either FILE: or FILE and DESC: and DESC
  3190.          inside the TICK-files. This is pointed out in FSC-0028 !
  3191.  
  3192.  Relate: FilesBBS, AddFilesBBS, CarryComment
  3193.  Dest. : All
  3194.  
  3195.  
  3196.  ┌─────────────────────────────────────────────────────────────────────┐
  3197.  │ UpdateUntypedFiles [mask]                                           │
  3198.  └─────────────────────────────────────────────────────────────────────┘
  3199.  Usage : This is a special, independent, option to update any type of
  3200.          file with the new (converted) name of the archive. Let us take
  3201.          two examples.
  3202.  
  3203.          1) Sometimes you hatch files into the TICK system that are in
  3204.             some directory (e.g. upload directory or something like
  3205.             that). After the HATCH, you get 3 files. The *.TIC file
  3206.             with a description and name of the file and 2 *.MSG files,
  3207.             one with the file-attach for the archive and one with the
  3208.             file-attach of the TIC-file.
  3209.             Now you start MTA and MTA converts the previously hatched
  3210.             file from *.ZIP to *.ARJ. NOW you (and the receiver) have
  3211.             a problem. The mailer will send the *.MSG's, though the
  3212.             1th will fail, because the attached file (something.ZIP)
  3213.             is not present anymore (it is renamed to something.ARJ).
  3214.             Also the *.TIC is sended but the info is invalid because
  3215.             (a) the original file is not present, (b) the info inside
  3216.             the *.TIC points to something.ZIP and not something.ARJ.
  3217.             UpdateUntypedFiles will give you the answer to this Quest!
  3218.  
  3219.          2) Some product keeps a small database with names of files
  3220.             (also your archives) inside. My RFW is such an example.
  3221.             Now you convert some archive and the information inside
  3222.             the database has become invalid !
  3223.             Again, UpdateUntypedFiles is the answer to your problems.
  3224.  
  3225.          UpdateUntypedFiles will update ANY type of file (even a pro-
  3226.          gram/binary file) with the new name of the archive IF:
  3227.          - You don't use the /D option;
  3228.          - The name of the target has the same length as the name of
  3229.            the source. A conversion from something.ZIP to Something.MD
  3230.            will not be performed !
  3231.          - The name of the source is within the 64K (65535) bytes bounds
  3232.            of the file;
  3233.          Longer files will NOT be truncated but only the first 64K of
  3234.          bytes are scanned and (optionally) changed.
  3235.  
  3236.          Back to the examples. A solution to both problems:
  3237.          1) Add the UpdateUntypedFiles C:\OUTBOUND\*.TIC
  3238.             and the UpdateUntypedFiles C:\OUTBOUND\*.MSG
  3239.             options to MTA.CTL (directories and drives may vary on your
  3240.             system). MTA will now update all *.TIC files with the name
  3241.             something.ARJ after the conversion. The same will be the
  3242.             case with all *.MSG that contained something.ZIP;
  3243.          2) Add the UpdateUntypedFiles C:\MYBASE\DATABASE.DBF to the
  3244.             MTA.CTL. Any change will be updated into the DATABASE.DBF
  3245.             database;
  3246.  
  3247.          You can add up to 255 UpdateUntypedFiles options into the
  3248.          MTA.CTL file. But be smart and think before you act. MTA
  3249.          will search ALL files and though this is fast I/O, it can
  3250.          take some time if you include numerous files !
  3251.          UpdateUntypedFiles can be used as a replacement to the up-
  3252.          dating of FILES.BBS when these files are smaller than 64K.
  3253.          In that case, this option will give you a 50-200% gain in
  3254.          speed over the FILESBBS option !!
  3255.  
  3256.  Relate: None
  3257.  Dest. : All
  3258.  
  3259.  
  3260.  ┌─────────────────────────────────────────────────────────────────────┐
  3261.  │ COMPort [port]                                                      │
  3262.  └─────────────────────────────────────────────────────────────────────┘
  3263.  Usage : This option, on its own, does nothing. It will only be active
  3264.          when /REMOTE is added to the command-line options. [port] must
  3265.          define the COM-port where MTA can do remote logging. COMPort
  3266.          can only be used when COM-port - 1 = FOSSIL-port. So COM2 will
  3267.          be FOSSIL-port 1 and so on. If this is not the case, you must
  3268.          use the FOSSILPort option.
  3269.          COMPort must also be combined with the BaudRate option or the
  3270.          /BAUD command-line option.
  3271.  
  3272.  Relate: BaudRate, /REMOTE
  3273.  Dest. : All
  3274.  
  3275.  
  3276.  ┌─────────────────────────────────────────────────────────────────────┐
  3277.  │ FOSSILPort [port]                                                   │
  3278.  └─────────────────────────────────────────────────────────────────────┘
  3279.  Usage : This option, on its own, does nothing. It will only be active
  3280.          when /REMOTE is added to the command-line options. [port] must
  3281.          define the FOSSIL-port where MTA can do remote logging.
  3282.          FOSSILPort must only be used when COMPort can not be used.
  3283.          FOSSILPort must also be combined with the BaudRate option or
  3284.          the /BAUD command-line option.
  3285.  
  3286.  Relate: BaudRate, /REMOTE
  3287.  Dest. : All
  3288.  
  3289.  
  3290.  ┌─────────────────────────────────────────────────────────────────────┐
  3291.  │ BAUDRate [baud]                                                     │
  3292.  └─────────────────────────────────────────────────────────────────────┘
  3293.  Usage : This option, on its own, does nothing. It will only be active
  3294.          when /REMOTE is added to the command-line options. Normally
  3295.          you will add the baud-rate with a command-line option (/BAUD)
  3296.          because it is depending on the users baud-rate. When you use
  3297.          a locked baudrate (up to 19600) you can use the BaudRate option
  3298.          though.
  3299.  
  3300.  Relate: COMPort or FOSSILPort, /REMOTE
  3301.  Dest. : All
  3302.  
  3303.  
  3304.  ┌─────────────────────────────────────────────────────────────────────┐
  3305.  │ StoreSize                                                           │
  3306.  └─────────────────────────────────────────────────────────────────────┘
  3307.  Usage : This option, on its own, does nothing. It will only be active
  3308.          when /REMOTE is added to the command-line options. Look into
  3309.          chapter 3.36 for a detailed description of this option.
  3310.  
  3311.  Relate: /REMOTE
  3312.  Dest. : All
  3313.  
  3314.  
  3315.  
  3316.  3.14.9 Special statements
  3317.  ────────────────────────────────────────────────────────────────────────
  3318.  The following statements are a collection of statements that can not
  3319.  be catagorized in one of the other groups.
  3320.  
  3321.  ┌─────────────────────────────────────────────────────────────────────┐
  3322.  │ IncludeCtl [filename]                                               │
  3323.  └─────────────────────────────────────────────────────────────────────┘
  3324.  Usage : This parameter is optional. In MTA.CTL you can include one
  3325.          (or several) other CTL-files. This comes in handy when you
  3326.          want to separate you 'normal' run-time options and the
  3327.          'special' options you change much.
  3328.          MTA can handle nested IncludeCTL statements. So you can
  3329.          include a 'IncludeCTL MTA.001' in your MTA.CTL and again
  3330.          you can include a 'IncludeCTL MTA.002' in your MTA.001.
  3331.          The total number of IncludeCTL options (nested and in the
  3332.          primary file) can be up to 16.
  3333.  
  3334.  Relate: None
  3335.  Dest. : All
  3336.  
  3337.  
  3338.  3.14.10 Statements available when using a registered version
  3339.  ────────────────────────────────────────────────────────────────────────
  3340.  The following statements can be used to define one or more exits. An
  3341.  exit a sort of hook in the MTA execution process. The several exits
  3342.  (hooks) are called at special places while MTA is executing on one or
  3343.  more files. The user can 'hook into' the process when one or more exits
  3344.  are defined in MTA.CTL.
  3345.  
  3346.  ┌─────────────────────────────────────────────────────────────────────┐
  3347.  │ RegistrationName [name]                                             │
  3348.  └─────────────────────────────────────────────────────────────────────┘
  3349.  Usage : This option has only a meaning when you received a key after
  3350.          you registered MTA. In ANY OTHER case (non registered usage)
  3351.          you must NOT include this option.
  3352.  
  3353.  Relate: None
  3354.  Dest. : All
  3355.  
  3356.  
  3357.  ┌─────────────────────────────────────────────────────────────────────┐
  3358.  │ RegistrationKey [key]                                               │
  3359.  └─────────────────────────────────────────────────────────────────────┘
  3360.  Usage : This option is now obsolete and must be removed. MTA now uses
  3361.          a file as the key for REGISTERED users. Non registered users
  3362.          must remove both the RegistrationName and RegistrationKey op-
  3363.          tions.
  3364.  
  3365.  
  3366.  3.15 Customized compression
  3367.  ────────────────────────────────────────────────────────────────────────
  3368.  From release 7.01 and up, MTA can work with customized compressors.
  3369.  This was implemented for special (de)compressors (maybe written by
  3370.  your own hand) but it also comes in handy when a new version of one
  3371.  of the common compressors hit the marked and MTA can not (yet) work
  3372.  with some of the new options.
  3373.  
  3374.  With an example I will show you how to implement a customized
  3375.  compressor, but first there are some basic rules for the new
  3376.  (de)compressor:
  3377.  - It must report an error with an errorlevel higher than 0;
  3378.  - The first errorlevel that reports an error can not be followed
  3379.    by a higher errorlevel that does NOT report an error;
  3380.  - The compressor MUST have an option to delete the files it
  3381.    compresses after compression;
  3382.  - The decompressor CAN have recursive support. This also goes for
  3383.    the compressor;
  3384.  - You can NOT use a batch-file to call the compressor/decompressor.
  3385.    Probably I will include this in a higher version of MTA;
  3386.  
  3387.  Now the example. Suppose we are implementing the compressor CRA.
  3388.  CRA is fully compatible with the popular ARC but works backward
  3389.  and not forward (maybe YOU like this). The calling syntax is just
  3390.  like SEA's <tm> ARC (c). Now how do you implement this program:
  3391.  
  3392.  OwnCompressPath         C:\SYS\ARC\CRA.EXE
  3393.  OwnCompressCall         m %1 *.*
  3394.  OwnCompressLowErrorRC   8
  3395.  OwnDeCompressPath       C:\SYS\ARC\CRA.EXE
  3396.  OwnDecompressCall       e %1
  3397.  OwnDecompressLowErrorRC 8
  3398.  OwnExtension            CRA
  3399.  OwnRecursive
  3400.  
  3401.  MTA will substitute %1 in OwnCompressCall and OwnDeCompressCall
  3402.  with the name and location of the compressed file (something like
  3403.  C:\TRASH\PATH\MYTRASH.CRA), the rest is up to you.
  3404.  The decompressor has to decompress the files in the CURRENT
  3405.  directory, the compressor gets its files from the CURRENT directory.
  3406.  
  3407.  Please feel free to experiment with this options. Next releases of
  3408.  MTA will extend the features a lot, but this option can help you to
  3409.  implement some basic compressors.
  3410.  When you have to replace a common compressor (like ZIP) with a newer
  3411.  version, the OwnExtension ZIP will do the trick. You must include
  3412.  all other OWN-options and you have to create files with a destination
  3413.  of OWN (/OWN). For safety you can comment out the other ZIP-related
  3414.  options !!!
  3415.  
  3416.  
  3417.  3.16 Recursive support
  3418.  ────────────────────────────────────────────────────────────────────────
  3419.  MTA carries a complete recursive support. This means that MTA will
  3420.  carry the (relative) path-names (if available in the source file)
  3421.  into the target file (if the target compression method supports
  3422.  path-names).
  3423.  At the moment ZIP, LZH, LZS, ARJ, HYP  and ZOO can contain path-names.
  3424.  MTA will look at the target method to determine if the source is
  3425.  decompressed with or without path-names. MTA will clean all the
  3426.  created paths and remove them from under its own temporary path
  3427.  when compression is done. This means that MTA carries a complete
  3428.  recursive directory system inside itself.
  3429.  
  3430.  LZH, LZS (Larc), DWC and PAK use a special trick with recursive
  3431.  support. These archives are not extracted with paths relative to
  3432.  the current directory but absolute from the root (sometime if
  3433.  specified). It is impossible for MTA (without special resources
  3434.  like an empty drive <grin>) to extract these archives, but when
  3435.  you use the SubstDrive option in MTA, MTA will be able to work
  3436.  on these archives in the correct manner (WITH recursive support).
  3437.  I advise you to use the SubstDrive option, unless you have an
  3438.  incompatible DOS (old versions, or special customized versions)
  3439.  on your machine. If SubstDrive gives you problems, you can leave
  3440.  the option out, but in that case MTA will leave the full recursive
  3441.  support for LZH, LZS, DWC and PAK out. This means that you can still
  3442.  convert from and to these systems but path-names inside the original
  3443.  archives are gone after conversion. Read chapter 3.28 about the use
  3444.  of a temporary substitute drive.
  3445.  
  3446.  
  3447.  3.17 Compression File-in-Compression File
  3448.  ────────────────────────────────────────────────────────────────────────
  3449.  This is a nice (I think) feature. You should thank Reinier de Groot,
  3450.  Eef Hartman and John Lots for this feature.
  3451.  
  3452.  The facts:
  3453.  
  3454.  - Many compressed files contain extra (also) compressed files with
  3455.    collections of supporting files (like batches for a communication
  3456.    program);
  3457.  - When converting say ZOO files (with ZOO files inside the original
  3458.    ZOO file) to ZIP, it should be nice also to convert the included
  3459.    ZOO files to ZIP, giving a ZIP files with ZIP files inside;
  3460.  
  3461.  My history (or 'why wait until now'):
  3462.  
  3463.  - In its original form, MTA took about 140K to do 'it's thing'. I
  3464.    should urge to say that I have done the utmost to optimize all
  3465.    used variables and to keep the code as small as possible, creating
  3466.    a mixture of structured and spaghetti code (it is inherent to create
  3467.    spaghetti when searching for speed and size);
  3468.  - I should also like a 'convert compressed in compressed' option, but
  3469.    again I urge to say that I would only implement this option when
  3470.    giving (almost) the same options as a normal conversion of a file;
  3471.  - Doing this with only 1 level of 'compression inside compression'
  3472.    should cost (again) 100K. Even when the whole MTA program could
  3473.    be converted to a recursive executable program, memory could not
  3474.    be limited to a normal size;
  3475.  - Forgetting the facts above, I would like to see a real conversion.
  3476.    This means that MTA should convert compressed-in-compressed files
  3477.    with:
  3478.    - recursive support;
  3479.    - description support;
  3480.    - more levels of compressed-in-compressed (I mean a A.ZIP containing
  3481.      a B.ZIP containing a C.ZIP containing.... and so on);
  3482.    This is far more than the easy way where most other programs come
  3483.    in the picture. I mean, decompressing the original and adding (1
  3484.    level only) of a next compression file into the original one, thus
  3485.    (possible) overwriting existing files in the original one.
  3486.  
  3487.  Facts and fiction:
  3488.  
  3489.  After reading questions from two users again, I was sure that the
  3490.  compression-in-compression option was needed. I even got a little
  3491.  crazy about the whole thing. But after a long and hot night (no
  3492.  sleep !) I had it.
  3493.  When I could rewrite MTA in a way that it could called again with
  3494.  a fresh start, everything would work, but what about the memory
  3495.  consumption. That was the least of the problems. There are enough
  3496.  program swappers around, and now MTA contains (again at last) its
  3497.  own (internal) swap utility !
  3498.  MTA will swap itself (around 150.000 bytes) to EMS (if present and
  3499.  usable) or to DISK (see SwapPath option) if less than 150.000 bytes
  3500.  are present in EMS or there is no EMS at all. XMS is not (yet)
  3501.  supported yet but will be in the future !
  3502.  
  3503.  Diskette users are urged to buy a large EMS-card (with every swap
  3504.  around 150 KBytes are set aside) or a hard-disk <grin> or they
  3505.  must include the NoSwap option in their MTA.CTL (causing MTA to
  3506.  call itself without swap, thus putting a limit on the number of
  3507.  nest-levels).
  3508.  
  3509.  The number of levels depends on two things:
  3510.  - The length of the source-directory name and the length of the
  3511.    directory name the called (de)compressor is in;
  3512.  - The number of bytes available;
  3513.  
  3514.  When you start with a directory called C:\A the possible number of
  3515.  levels is higher than when you start with C:\DOWNLOAD\DOWNLOAD.
  3516.  This is due to the maximum number of characters a directory name
  3517.  can be (67 bytes).
  3518.  
  3519.  When working in directory C:\FIRST, MTA normally creates the directory
  3520.  C:\FIRST\xxxxxxxx  (xxxxxxxx is a Hex representation of the current
  3521.  time and date with a fixed length of 8 bytes). For every 'level' of
  3522.  compression files inside the primary compression file, MTA creates
  3523.  a directory with the name $ under the previous, thus creating
  3524.  C:\FIRST\xxxxxxxx\$ for the first level, C:\FIRST\xxxxxxxx\$\$ for the
  3525.  second level and so on.
  3526.  
  3527.  The following discussion is based on swap of 150.000 bytes and a
  3528.  remaining portion of around 4K (it is less) with every swap.
  3529.  
  3530.  When MTA starts is 'takes' 128K. When processing the first 'level'
  3531.  of compressed-in-compressed, it gives back 124K and holds 4K. The
  3532.  second level needs 128K, but gives away 124K when working on the
  3533.  following level.
  3534.  Every 'give away' is swapped to EMS or DISK when EMS is not
  3535.  available or full.
  3536.  
  3537.  In a diagram (when converting a '2 level' compression-in-compression
  3538.  file (the numbers are the total bytes occupied by the MTA program(s)
  3539.  in memory):
  3540.  
  3541.  MTA (128K) ------> MTA (132K) ------> MTA (136K)
  3542.  A.ZIP ............ files
  3543.                     B.ZIP............. files
  3544.                                        C.ZIP
  3545.  
  3546.  You should add the number of bytes needed for the largest called
  3547.  (de)compression program (around 250K), so with a 640K machine, 60
  3548.  levels should be the limit (this is 59 times MTA in memory and around
  3549.  60 * 12k = 7,6 MegaBytes in EMS or on Hard-disk, so be prepared !).
  3550.  
  3551.  Recursive support inside compression-in-compression files, sounds
  3552.  like fiction, but with this structure its a FACT. MTA maintains its
  3553.  complete recursive support with EVERY level of compressed files
  3554.  inside a compressed file !
  3555.  
  3556.  
  3557.  3.18 MTA Touching System
  3558.  ────────────────────────────────────────────────────────────────────────
  3559.  MTA carries a complete file-touching (is (re)setting file time/date
  3560.  stamps) system. This system works like the MTT (another DISP program).
  3561.  
  3562.  What can this touching system do ? Well that's easy to tell. Your
  3563.  compressed files all carry a file time/date stamp. In fact, most of
  3564.  these time/date stamps say nothing about the file. Sometimes it's the
  3565.  time/date of creation, sometimes the time/date of download, something
  3566.  non of the kind.
  3567.  
  3568.  Some of the compression programs carry a function to set the date of
  3569.  the compressed file to the highest (or lowest) date in the archive,
  3570.  but not all the compressors know of this option and when it does, it
  3571.  has no meaning to you when you get the compressed file in it's
  3572.  compressed form.
  3573.  
  3574.  MTA has it's build-in touching system to supply you a with this
  3575.  function, even when the target compressor does not have this function.
  3576.  MTA extends this feature by letting you choose from 4 kinds of file
  3577.  touching. These are:
  3578.  
  3579.  - Touch compressed file with current date (TOUCHCUR parameter);
  3580.  - Touch compressed file with the lowest date IN the compressed
  3581.    file (TOUCHLOW parameter);
  3582.  - Touch compressed file with the highest date IN the compressed
  3583.    file (TOUCHHIG parameter);
  3584.  - Leave the compressed file's time/date as it is (supply non of the
  3585.    three parameters above or supply /F to the command-line);
  3586.  
  3587.  There is one thing you must observe ! MTA can give a message (depending
  3588.  on the WarningTime parameter) about the touching. In fact there are two
  3589.  possible errors:
  3590.  
  3591.  - A file IN the compressed file has an invalid date;
  3592.  - All files IN the compressed file have an invalid date;
  3593.  
  3594.  An invalid date is a date lower than 01-01-80 (00:00) or higher than
  3595.  the current date and time.
  3596.  Messages of these kind can have two meanings:
  3597.  
  3598.  - The one who created the compressed file has done something strange
  3599.    with time/date stamps;
  3600.  - Your own current date on your PC is incorrect (lower than the
  3601.    actual date);
  3602.  
  3603.  You special cases you want to ignore the time component in a date/time
  3604.  stamp. There is an option available for this feature. Also you can
  3605.  instruct MTA to ignore dates that are to high.
  3606.  
  3607.  The last of the two is the most dangerous and you should look into
  3608.  it at once !
  3609.  
  3610.  MTA excludes all files marked as excluded (but also those marked as
  3611.  pending for include) for the touching system. When these files are
  3612.  not excluded, it could be possible that all your archives will get
  3613.  the same date (e.g. the date of one of the included or excluded
  3614.  files). The included and excluded files will have nothing to do with
  3615.  the archive itself so excluding them from the test will not harm the
  3616.  results at all.
  3617.  
  3618.  One final note on archivers that do the touching of their own. MTA
  3619.  let them do their touching but after the file is created, MTA will
  3620.  change the date/time of the new file again to reflect the detected
  3621.  date/time execpt when you use not touching at all. PKLITE/UNPKLITE
  3622.  is excluded from this story. MTA leaves the touching to PKLITE.
  3623.  
  3624.  
  3625.  3.19 Optimal sizes
  3626.  ────────────────────────────────────────────────────────────────────────
  3627.  From release 9.01 of MTA there is a new feature available. You can
  3628.  now construct the smallest compression file from a selection of
  3629.  compression programs. All you have to do is to add a third parameter
  3630.  to the ..PATH options in MTA.CTL. When you supply a 'Y' as the
  3631.  third parameter (after the path and name of the compressor), you let
  3632.  MTA know that it can use this compressor as one of a selection of
  3633.  compressors that are called to obtain the smallest compressed file.
  3634.  
  3635.  MTA optimizes like this:
  3636.  
  3637.  - Supply at least 2 (or 1 in the case of ZIP) compressors with the
  3638.    'Y' option;
  3639.  - Call MTA with the /OOA switch;
  3640.  - MTA decompresses the compressed file;
  3641.  - MTA compresses the file with all of the compressors with 'Y' as
  3642.    the third parameter. In the case of PKZIP 1.01, MTA tries both
  3643.    -ex and -eb;
  3644.  - MTA selects the smallest compressed file and will create this one
  3645.    for you as the target.
  3646.  
  3647.  This all means that you can get a mixture of compressed files. Only
  3648.  when you include only ZIP as a optimize compressor (only 1.01>) you
  3649.  always get ZIP's. In case of all other compressors it is useless
  3650.  (and time consuming) to only add 1 optimize compressor because in this
  3651.  case MTA will do the same thing twice.
  3652.  
  3653.  To keep disk-space inside limits, MTA will delete every temporary
  3654.  compressed file after its creation. This means that when a file is
  3655.  LZH and the optimizer will choose LZH, you are compressing the file
  3656.  twice, but the disk-space used will be the same as when you run MTA
  3657.  without /OOA.
  3658.  
  3659.  
  3660.  3.20 Diskette option
  3661.  ────────────────────────────────────────────────────────────────────────
  3662.  MTA's greatest power lies in it's diskette option. With this option
  3663.  you can easy convert full diskette's (with compressed files) to
  3664.  another compression system.
  3665.  When activating the diskette option (with the /D switch) MTA goes in
  3666.  recursive state and will ask for the next diskette when the previous
  3667.  one is done.
  3668.  
  3669.  MTA's diskette option depends on a number of parameters in MTA.CTL.
  3670.  These are FDUTempPath and FDUTrashPath. These parameter MUST be
  3671.  available (and correct) in the MTA.CTL file.
  3672.  
  3673.  What steps does MTA take when converting a diskette:
  3674.  
  3675.  - Read all (selected) files on the diskette and decide which are
  3676.    compressed files and which are not;
  3677.  - Move (copy + delete from source) these files to the path supplied
  3678.    in FDUTempPath;
  3679.  - Create a temporary directory (MTA$$$$$.MTA or one you named in the
  3680.    MTA.CTL);
  3681.  - Take a file until no files left;
  3682.    - Decompress the file in FDUTempPath to the temporary directory;
  3683.    - Compress the file to the new system and put the result in the
  3684.      FDUTempPath;
  3685.  - Execute the 'Before' EXIT if available;
  3686.  - Move all files (from big to small) back to the diskette until there
  3687.    is no room left on the diskette or all files are moved;
  3688.  - If there was no room on the diskette to store all files, move the
  3689.    remaining files to FDUTrashPath and keep them there until a next
  3690.    diskette comes along with enough space to hold one (or more) of
  3691.    the files in FDUTrashPath;
  3692.  - If there was still room left after the move to diskette, MTA looks
  3693.    in FDUTrashPath to see if there are one or more files that will fit
  3694.    onto this diskette. If so, MTA moves this(these) file(s) to this
  3695.    diskette;
  3696.  - Execute the 'After' EXIT if available;
  3697.  - Clean up the temporary directory;
  3698.  - Ask for next diskette or stop;
  3699.  
  3700.  From the previous description you could learn three things:
  3701.  
  3702.  - The FDUTrashPath and FDUTempPath directories remains intact after MTA
  3703.    ends. FDUTrashPath could contain files, FDUTempPath should be empty;
  3704.  - When the FDUTrashPath directory gets to big (you are using a target
  3705.    compression program that creates bigger files than the original ones)
  3706.    you supply MTA with on or more (almost) empty diskettes and MTA will
  3707.    move files from FDUTrashPath to diskette;
  3708.  - You could move all your new incoming files (even NON-compression
  3709.    files) to the FDUTrashPath directory by hand. MTA will move these
  3710.    files to a diskette when time (and diskette space) comes.
  3711.  
  3712.    One final word. As you have noticed (I hope) you can add unlimited
  3713.    power to MTA's diskette option with the 'Before' and 'After' exits
  3714.    to another program. Please read the EXITBeforeFill and EXITAfterFill
  3715.    options in MTA.CTL.
  3716.  
  3717.  
  3718.  3.21 Virus detection
  3719.  ────────────────────────────────────────────────────────────────────────
  3720.  This is a nice option for both BBS's and normal users. MTA can call
  3721.  McAfee's SCAN program (must be version 40 or higher) and if this
  3722.  program detects VIRUSES, MTA will move the original file to the
  3723.  temporary directory (also the decompressed files are found over here)
  3724.  and creates 3 null-files as a comment, so when you display the
  3725.  directory, you can see that programs with a virus are over here.
  3726.  
  3727.  SCAN (version 40 and higher) is available on any good BBS. Please
  3728.  make sure the SCAN version you upload is version 40 or higher. MTA
  3729.  will not work with lower versions.
  3730.  
  3731.  SCAN is NOT included in this archive !
  3732.  
  3733.  Check out with McAfee's bulletin board. They have a lot of vaccines
  3734.  for most viruses. A great venture !!!!
  3735.  
  3736.  A warning about the usage of SCAN in combination with a multitasker
  3737.  like DesqView <tm>. You must install the multitasker in such a way
  3738.  that it is not possible for a task to perform 'bleeding' of any
  3739.  characters stowed in the keyboard-buffer. MTA will store a number of
  3740.  keystrokes in the keyboard buffer to maintain unattended operation
  3741.  even with up to 150 virus-infected files in one single archive. This
  3742.  can cause problems in the other task when these characters are stored
  3743.  in one task and used/read in one or more other tasks.
  3744.  
  3745.  Also Veldman's TBSCAN is directly supported by MTA. See the notes on
  3746.  the Virus-options in MTA.CTL. TBScan does not have the problem as
  3747.  mentioned above (DesqView) because MTA will NOT stuff any keys to
  3748.  the keyboard !
  3749.  
  3750.  
  3751.  3.22 Screen control
  3752.  ────────────────────────────────────────────────────────────────────────
  3753.  MTA uses a small window so you can look at the results of the called
  3754.  (de)compressors. This window is maintained with Int 29, so no
  3755.  timeout problems (as with earlier MTA versions that used Int 21)
  3756.  should occur.
  3757.  
  3758.  MTA 9.10 brings back the old situation but far more sophisticated than
  3759.  previous versions. ANSI displays are ignored. So PKZIP header files
  3760.  in ANSI format are displayed as a number of garbage characters.
  3761.  Because of the problems that could arise with ANSI screens (unwanted
  3762.  re-configuration of keyboard control, like a ANSI virus) and because
  3763.  of the fact PKUNZIP defaults to no-ANSI, I have dropped the ANSI
  3764.  support in the small window. Better, the ANSI driver is disabled
  3765.  before the (de)compressor gains control and is reactivated after the
  3766.  (de)compressor is finished. This also caused a slight improvement in
  3767.  the overall performance inside the window (my old Int29 was always
  3768.  a bit slow) of around 2-5%.
  3769.  
  3770.  The newly implemented DOS shell has the same environment as do the
  3771.  (de)compressors have, so no ANSI.
  3772.  
  3773.  If you have troubles with the window, you can force the old type of
  3774.  window. Supply ForceCGA in MTA.CTL and your problems should be gone.
  3775.  This window is somewhat slower than the original one, so try MTA
  3776.  without this option first.
  3777.  
  3778.  MTA has (from release 14.01 and up) full support for EGA/VGA/MCGA
  3779.  users. The following is implemented in MTA to please these users:
  3780.  
  3781.  - If the user runs an enlarged text-mode like 43, 50 or 60 lines
  3782.    (with a width of 80 bytes), MTA will enlarge the Int29 window
  3783.    while calling archivers;
  3784.  - If the user runs a text-mode that gives you more than 113 bytes
  3785.    per line (like the 132x?? modes), MTA will reconfigure its screen
  3786.    to this mode and the alternate displays are displayed BOTH. Toggle
  3787.    (with T) has no meaning in these modes;
  3788.  - MTA will not set or reset any mode itself. MTA will look to the
  3789.    initial screen dimensions and will act according to the values;
  3790.  - MTA can reset itself while running. This means that when you
  3791.    reset the video-mode to another value (inside the shell or some-
  3792.    where in an exit), MTA will also reset its screen when MTA gets
  3793.    control again;
  3794.  - When you want to run MTA in standard enlarged mode (60 lines and
  3795.    132 characters per line, to name one), but you don't want to
  3796.    use this mode by default for your other tasks, you can use the
  3797.    VideoModem option to set this mode to the one you like. After
  3798.    termination, MTA has reset the mode back to the one that was
  3799.    used at the start of MTA;
  3800.  - MTA will, in no case, FORCE the mode, so inside exits you are on
  3801.    your own. If the program you call resets the mode and does not
  3802.    set it back (shame), MTA will be forced into another mode;
  3803.  
  3804.  When you let MTA swap itself before an archive-program is called
  3805.  (MTA 14.20 and up), MTA will not retain the child-process window
  3806.  at the bottom of the screen, but the actual window (with the in-
  3807.  formation before the call) is restored after the call.
  3808.  
  3809.  
  3810.  3.23 KeyBoard control
  3811.  ────────────────────────────────────────────────────────────────────────
  3812.  When MTA is running you have control over some keyboard functions.
  3813.  
  3814.  When you press [ESC] (escape button), MTA will terminate when the
  3815.  current files is converted. When you hit ESC you can release the
  3816.  termination stage by hitting any other key, MTA will resume as
  3817.  normal. This option is not available in /D mode.
  3818.  
  3819.  When you press 'S', MTA will bring you in a DOS-shell, the moment
  3820.  MTA thinks it is save to do so. This can be anywhere in the conversion
  3821.  phase. MTA will set you in the directory you started MTA from. NEVER
  3822.  alter files in the temporary directory MTA has created if you do not
  3823.  know what you are doing. Also pressing any other key after 'S',
  3824.  releases the DOS-shell option as with [ESC].
  3825.  
  3826.  Pressing 'T' will cause MTA to toggle the statistical display from
  3827.  static to dynamic mode or the other way around, depending on the
  3828.  default settings (AltDisplay option). You can toggle as much as
  3829.  you like while MTA is running !
  3830.  
  3831.  Some users have put in complaint about the hard way MTA can be
  3832.  interrupted. While converting files (not in diskette mode) MTA will
  3833.  stop (after hitting ESC) as soon as possible but I will try to find
  3834.  a more flexible way to deal with this in version 12 and higher.
  3835.  
  3836.  
  3837.  3.24 Swapping
  3838.  ────────────────────────────────────────────────────────────────────────
  3839.  Regulary I get questions about swapping. Most of this questions deal
  3840.  with the functions of swapping, so I will try to point out what swap-
  3841.  ping is.
  3842.  
  3843.  When you run MTA, it takes away around 160K (or more) from memory.
  3844.  In a 'normal' (non 80386 and some special chipsets) environment, this
  3845.  will leave anywhere between 440K and 360K (or less with TRS's in your
  3846.  machine) for shells (archivers, dos-shell and exits). If this is NOT
  3847.  enough, than conventional memory must be found somewhere. MTA (and
  3848.  other programs that use swapping) contain a little (nifty) routine
  3849.  that gets control. This routine (obvious this routine is located at
  3850.  the start or end of the memory) will 'move' (swap) the surrounding
  3851.  program (the rest of MTA) to 'unconventional' memory. With unconven-
  3852.  tional memory I mean some type of storage that can not be used to
  3853.  execute a program. Types of storage that can be used are extended or
  3854.  expanded memory but also disk-storage. The little routine stays in
  3855.  memory though and loads the next program (archiver, shell or exit).
  3856.  Then it sits and waits for that program to finish and it gets con-
  3857.  trol again. After getting control, it restores the moved (swapped)
  3858.  parts of MTA back to conventional memory again and the next MTA
  3859.  function is started.
  3860.  
  3861.  As said before, MTA uses it's own internal swap routine. All of the
  3862.  code, stack, heap and data is swapped. Also some overhead is swapped
  3863.  along with these items. In MTA 14.20 (again) a new swap-routine is
  3864.  implemented that is both faster and uses more types of resources
  3865.  with less space.
  3866.  
  3867.  MTA's swapping routine uses EMS, XMS or disk. If EMS is available,
  3868.  MTA will swap to EMS (if enough space is available). If no EMS is
  3869.  available but you have XMS, MTA uses XMS. If neither EMS nor XMS
  3870.  is available, MTA uses disk-space.
  3871.  
  3872.  For every swap MTA uses a file-handle, even for swaps to XMS and
  3873.  EMS. This file-handle will stay open until the current swap is
  3874.  complete. If MTA does a recursive swap (so MTA swappes, a new MTA
  3875.  is loaded, this one swaps again and so on), all file-handles of
  3876.  previous swaps (swaps earlier in the recursion that have not yet
  3877.  finished) will stay open. In special cases, you should alter the
  3878.  FILES= statement in CONFIG.SYS to a higher value when you expect
  3879.  a large number or recursive swaps.
  3880.  
  3881.  When MTA swaps to disk, a file is created in the directory that
  3882.  you supplied in the SwapPath option OR in the current directory
  3883.  at the moment that MTA started ! Just like the file-handles, these
  3884.  files stay open until the swap has returned to the original task.
  3885.  NEVER start a CHKDSK or a disk-optimizing utility in one of MTA's
  3886.  exits while there is a swap in progress. Also a directory sort of
  3887.  the directory containing the swap-file(s) can be dangerous.
  3888.  
  3889.  For every swap, MTA creates a special unique file. The name of this
  3890.  file is equal to the HEX-representation of the combined date/time
  3891.  at the moment of swapping. Though almost impossible, MTA checks if
  3892.  this file is present in the directory. If this is the case, MTA will
  3893.  wait for a second and tries a new name, until a non-matching name is
  3894.  found. For every MTA-task you start, MTA adds a extension, equal to
  3895.  'S' and the task-number (e.g. S01 for the first task) to the file
  3896.  name, so several concurrent MTA's can never create equal swap-files.
  3897.  
  3898.  For each swap, MTA will swap almost all of the coding, data and stack
  3899.  to the swap-file. This can vary depending on the number of files that
  3900.  MTA selected but should be somewhere between 160 and 200K.
  3901.  
  3902.  
  3903.  3.25 Encryption and Authenticity Verification
  3904.  ────────────────────────────────────────────────────────────────────────
  3905.  Look into the KeepAV option and you will know the most of the special
  3906.  ZIP files with AV-files. Keep in mind that keeping the original AV
  3907.  is a service to the users if you run a BBS and uses MTA to convert
  3908.  your BBS-files.
  3909.  
  3910.  A special case is encryption. At this moment, DWC, PAK, ARC, PKPAK,
  3911.  ARJ and ZIP can encrypt files. PAK, ARC and PKPAK (they all try to be
  3912.  compatible with each other) give no normal way to detect the usage
  3913.  of encryption, so trial on error is the case. ZIP and DWC do better
  3914.  in this case. The fact that these files are encrypted can be detected
  3915.  from the internal headers. The actual password can not be deleted.
  3916.  
  3917.  MTA can extract encrypted files if you supply the correct password
  3918.  with the /IPpassword command-line option. Release 13.xx will contain
  3919.  a somewhat more sophisticated way to handle encrypted files.
  3920.  If MTA detects a ZIP or DWC with encryption and /IPpassword is not
  3921.  supplied, MTA will skip conversion for this file. ARC, PAK and PKPAK
  3922.  files with encryption will give an error and the file is moved to
  3923.  the error-path if no valid /IPpassword is supplied.
  3924.  
  3925.  MTA can create encrypted files (ARC, PAK, PKPAK, DWC, ARJ and ZIP)
  3926.  with the usage of the /OPpassword option. All selected files will be
  3927.  encrypted with the supplied password. Also a log can be created to
  3928.  reflect all files generated with a password, using the option with
  3929.  the name NormalPasswordListPath;
  3930.  
  3931.  MTA also contains a nifty feature. If you (in case you are a Sysop)
  3932.  want to create encrypted files in your BBS and you only want the
  3933.  users to extract these files when you give permission, you can
  3934.  generate files with RANDOM encryption passwords. Use /OP@ and MTA
  3935.  will create files with a random password. The used passwords are
  3936.  stored in a special log-file (supplied in the RandomPasswordListPath
  3937.  option or generated as MTA.PWD in the current directory). Only when
  3938.  you supply the password to the user, the user is able to extract
  3939.  the files in the archive. You could also use the list as a viewable
  3940.  file, somewhere in the BBS.
  3941.  
  3942.  Normal users will (normally) have no need for this option, but I can
  3943.  imagine there are users who share a PC and who would like to encrypt
  3944.  their own files with a unique password in an easy way.
  3945.  
  3946.  
  3947.  3.26 Mice and other trouble
  3948.  ────────────────────────────────────────────────────────────────────────
  3949.  With the introduction of programs like Microsoft's Windows, mice got a
  3950.  true life of their own. I am (for sure) not in favor to use the mouse
  3951.  in a normal keyboard oriented application, as is now the new trend in
  3952.  programming. But MTA is not that keyboard oriented and the mouse will
  3953.  only 'consume' 3K of extra memory, so why not !
  3954.  
  3955.  Programming a mouse is something for specialist and I am, for sure,
  3956.  no mouse specialist (as specialist will see when they run MTA). I
  3957.  have found out that programming this little creature is far more
  3958.  complex than it appears, but I have tried to make it acceptable,
  3959.  both for the hands and for the eye. If users have ideas on how to
  3960.  do a better job, let me know.
  3961.  
  3962.  Now for the functions of this little rodent in MTA itself. The full
  3963.  screen tag is mouse-supported (not such a big task). Tagging and
  3964.  scrolling is like with every other mouse program (clicking and the
  3965.  famous scroll-bar).
  3966.  The status-screen of the running MTA is something else. I have created
  3967.  a mouse-window so only horizontal movement is possible and only inside
  3968.  the bounds of the selectable objects. You can move the mouse to the
  3969.  white (highlighted) '<.>' parts in this window (tagging, shelling,
  3970.  terminating and resetting) and click the LEFT button. It will take a
  3971.  while before the screen changes (there are some technical reasons for
  3972.  this, mainly speed) but it WILL change. The mouse is even accessible
  3973.  in most of the DOS-shells except the EXIT-shells. Inside the EXIT's you
  3974.  run another application. If that application supports the mouse, you
  3975.  will have your support. On return, MTA will reset the mouse to the
  3976.  bounds I have defined.
  3977.  
  3978.  Clicking the RIGHT button is the same as hitting [ESC] on the keyboard
  3979.  or placing the mouse-cursor on <ESC> and use the right-click. It is
  3980.  just a shortcut.
  3981.  
  3982.  When the mouse is active in MTA, the lower frame will change a bit.
  3983.  You will see the '  ├██╞≈≈' symbol, with the mouse-cursor (initially)
  3984.  on the ''.
  3985.  
  3986.  Some systems have problems with the active interrupt routine while the
  3987.  (de)compressor is running in the little window. In that case (hangups
  3988.  and such), use the NoMouse option with the Window parameter !
  3989.  
  3990.  If you run an enlarged mode (80x43, 132x60 or anything else but 80x25)
  3991.  MTA will force the mouse to disable. This is the result of the bad
  3992.  performance some drivers have with these modes. Because the mouse-cur-
  3993.  sor is also almost invisible in these modes (or you must have Mount
  3994.  Palomar on your desk), mice are useless in these mode (at least with
  3995.  MTA they are).
  3996.  
  3997.  
  3998.  3.27 ITS
  3999.  ────────────────────────────────────────────────────────────────────────
  4000.  One of my other products is called ITS (Inter Task Semaphore) and is a
  4001.  batch-file enhancement for multi-task environments like DesqView or
  4002.  Windows. It's main usage lies in the BBS environments. If you include
  4003.  a call to ITS in all batch-files in all BBS-lines, you can manipulate
  4004.  the batch for line 'x' inside line 'y' because ITS can 'talk' to a
  4005.  second (third, up to eight) ITS. It contains some handy features so
  4006.  you can run a variable event in one task and let the other tasks wait
  4007.  until the event is ready.
  4008.  
  4009.  MTA is a program that is tailored to run inside a BBS-event. MTA 12.51
  4010.  is aware of the ITS commands /DOWNMTA and /UPMTA. This means that when
  4011.  you make MTA aware of ITS (with the ITSPath option set), you can submit
  4012.  a /DOWNMTA with ITS and when MTA is running, it will complete the
  4013.  current file and terminate, just like you are hitting the ESC key.
  4014.  
  4015.  MTA will only read the ITS.SPH (semaphore) file. So when you select to
  4016.  terminate MTA with /DOWNMTA (with ITS), don't forget to set the status
  4017.  back (with the ITS command /UPMTA) after the event is done, otherwise
  4018.  the next execution of MTA will only convert one file !!
  4019.  
  4020.  For more details on ITS, read the documentation of this product !
  4021.  
  4022.  
  4023.  3.28 MTA and 4Dos <tm>
  4024.  ────────────────────────────────────────────────────────────────────────
  4025.  Many environments run under 4Dos, so why should MTA not be aware of
  4026.  4Dos. When you don't run a BBS, you can use many of the BBS-options
  4027.  in your private environment even when you don't run a BBS. Most of
  4028.  BBS-options are rewritten or enhanced to support 4Dos. Let me give
  4029.  you a full list of features, MTA will give you in a 4Dos environment:
  4030.  
  4031.  - More and more BBS SysOp's give an extra service to the user. More
  4032.    SysOp's are aware of the fact that when you have seen the archive
  4033.    comment with their commercial, you have seen enough. So more Sysop's
  4034.    replace this commercial with a description of the file as the
  4035.    archive comment and add a little file with their commercials to
  4036.    the archive. When you receive such files, MTA can come to help.
  4037.  
  4038.    Make the following installation:
  4039.    - Set the FilesBBS option like this:
  4040.      'FilesBBS DESCRIPT.ION' (without quotes)
  4041.    - Set the FilesBBSFormat option like this (or leave it out because
  4042.      this is the default):
  4043.      'FilesBBSFormat 1 1 I2'
  4044.    - Set the Not4DosAware option to OFF (comment it out);
  4045.    - Set the AddFilesBBS option;
  4046.    - Set the CarryComment option to 2 (without extra parameters);
  4047.  
  4048.    So what happens:
  4049.    - MTA will convert the archive and extract the comment from it;
  4050.    - In the conversion process, MTA can remove the Sysop's commercial;
  4051.    - MTA will add the old comment to the new archive (why, you will
  4052.      see later);
  4053.    - MTA will add a record with the name and description (as extracted
  4054.      from the original archive) to the file DESCRIPT.ION in the current
  4055.      directory;
  4056.    - MTA van optionally move the archive to another location and in
  4057.      this case the description in DESCRIPT.ION is carried along with
  4058.      the file;
  4059.  
  4060.    What is the result:
  4061.    - When you give a DIR, you will see the  description of the archive
  4062.      in the listing (a 4Dos feature);
  4063.    - When you catalog your files, there is a 50% chance that your
  4064.      catalog program can read the archive and add the archive comment
  4065.      to the database as the description of the file;
  4066.  
  4067.    What you don't see:
  4068.    - It is possible that you can not find the file DESCRIPT.ION in
  4069.      the directory. This is caused by the 'HIDDEN' attribute that
  4070.      4Dos assigns to this file;
  4071.  
  4072.    So you can see that there are many options in MTA that could be
  4073.    meaningful to you, even when you don't run a BBS !
  4074.  
  4075.  In a 4DOS environment, most people use the default '^' character as
  4076.  the 'COMPOUND' character. PKWare also uses this character to let
  4077.  PK(UN)ZIP display the command-line (1.10 and higher) and this will
  4078.  cause trouble in paradise. MTA switches the -^ command-line option for
  4079.  PK(UN)ZIP to off, when 4Dos is fully present in the PC and the option
  4080.  Not4DosAware is set to OFF (commented out).
  4081.  
  4082.  MTA will detect a full 4Dos environment when:
  4083.  - 4Dos is aware in the machine (Int. $2F combination);
  4084.  - The word 4DOS is present somewhere in the value of the COMSPEC
  4085.    environment variable.
  4086.  IF COMMAND.COM is used as a secondary shell, MTA will not recognize
  4087.  the PC as being under full 4Dos control because MTA uses the shell
  4088.  pointed by COMSPEC (COMMAND.COM in this case) to call some of the
  4089.  programs.
  4090.  
  4091.  When MTA detects a full 4DOS environment, it will not use the -^
  4092.  option in PK(UN)ZIP. Changing the COMPOUND character to something
  4093.  else will still not trigger MTA to use the -^ option. In fact, be
  4094.  careful with the COMPOUND-character. There can always be another
  4095.  invalid combination !
  4096.  
  4097.  When you don't like the 4DOS options MTA uses than there are several
  4098.  options at hand:
  4099.  
  4100.  - Include the Not4DosAware option in MTA.CTL, but change the COMPOUND
  4101.    character to something else than '^';
  4102.  - Change the secondary shell to COMMAND.COM and not to 4DOS (in this
  4103.    case you don't have to change the COMPOUND character);
  4104.  
  4105.  
  4106.  3.29 Substituted drive
  4107.  ────────────────────────────────────────────────────────────────────────
  4108.  If you have a very old version of DOS that does not support the SUBST
  4109.  command (check the manual) than NEVER (I mean NEVER) use the SubstDrive
  4110.  options unless you would like to rebuild most of your archives manually.
  4111.  
  4112.  So you have checked your manual and your DOS supports SUBST. Please take
  4113.  a moment to look into the dos-path (where things like FORMAT, XCOPY,
  4114.  ASSIGN and such programs are) to see if the SUBST program is in fact
  4115.  present in this directory. Also check if this directory is inside the
  4116.  DOS-path. If not, correct the problem and copy SUBST from the original
  4117.  DOS-diskette to this directory and/or add the directory to the DOS-path.
  4118.  
  4119.  So you have corrected the problem (if any). Now take some time to read
  4120.  your DOS-manual to see what SUBST in fact does (if you did not know).
  4121.  
  4122.  Now it is time to blow the horn. Some compressors (PAK to name one,
  4123.  but LHarc and LArc also share this problem) are in the habit to
  4124.  extract archives (with directories inside) into directories counted
  4125.  from the root and not from the current path. MTA can not work around
  4126.  this problem in a normal manner unless you assign a temporary drive
  4127.  (with NOTHING on it) to work with MTA.
  4128.  
  4129.  MTA fixes this in an un-ordinary fashion. When MTA creates a temporary
  4130.  directory  on the drive, it 'covers' this directory with a substituted
  4131.  drive. The only thing YOU have to do, is to assign a suitable drive-
  4132.  letter (of a drive you do not use while MTA is running, let's say
  4133.  one of the floppies, or use a unused drive-letter, PROVIDED THAT THE
  4134.  YOU DO NOT GET A CONFLICT WITH THE LASTDRIVE PARAMETER). The best
  4135.  choice for a hard-disk oriented machine is one or more of the re-
  4136.  maining unused drive-letters. Please alter the LASTDRIVE option in
  4137.  your CONFIG.SYS (if you have one installed) so that you enable as
  4138.  many drives as you are going to use in MTA (normally only one, but
  4139.  it could be more if you are going to run multiple MTA's at the same
  4140.  time in networks or in a multitasking environment). It IS valid to
  4141.  use the floppy-drive letters but they must be unused at the time
  4142.  you are going to run MTA. If you use a floppy-drive letter, you can
  4143.  NOT use the /D (diskette) option in MTA if it is pointing to the
  4144.  same drive you used as a SUBST'ed drive.
  4145.  
  4146.  MTA creates AND REMOVES the substituted drive several times for each
  4147.  archive. I have fixed all possible problems (shells, child and so
  4148.  on) in MTA itself so that even a high-levelled archive (many archives
  4149.  inside the archive and lower) could be converted. Don't bother the
  4150.  technique (let me do the dirty work) only make sure that you never
  4151.  set the same substituted drive inside the ExitbetweenCompression
  4152.  exit !
  4153.  
  4154.  NEVER, NEVER, NEVER, NEVER use one of your harddisk drive-letters
  4155.  as the substitution drive. Use the A or B drive or create a new
  4156.  entry by adding one drive to the LASTDRIVE command (the saves op-
  4157.  tion). Because of the way MTA switches between drives and directories
  4158.  (with the SubstDrive set to ON) it could happen (when you assign one
  4159.  of your harddisks as the substitution drive) that an archive is
  4160.  created with ALL files on that drive and that all files are gone
  4161.  (COMMAND.COM, CONFIG.SYS, get the picture) after MTA is ended. They
  4162.  are not gone, but somewhere in one HUGE archive, just converted by
  4163.  MTA !!!!!
  4164.  
  4165.  To help you with these problems, MTA checks if the supplied drive
  4166.  contains a readable disk. This is (hopefully) always true for your
  4167.  current hard-disks and RAM-disks, and could be true for your diskette
  4168.  drives. If MTA finds a readable drive with the same name as the sup-
  4169.  plied substituted drive, MTA ends with an error. When you use A: or
  4170.  B: as the substituted drive, be sure to remove any disks. Also, when
  4171.  no disk is present in the floppy, there will be a little (or long,
  4172.  depending on the machine) delay to check the drive. If you supply
  4173.  /D on the command-line (diskette option), then MTA will ALSO test
  4174.  if the /D-drive (default A:, but can be overruled with /D=B:) is not
  4175.  the same as the substituted drive.
  4176.  Everything said here, goes in favor for the usage of a new drive-
  4177.  letter, one higher than the last active drive, but using A: or B:
  4178.  is still possible !
  4179.  
  4180.  With 14.01 it is now officially possible to run multiple copies of
  4181.  MTA at the same time (networks, multitasking environments). This
  4182.  causes trouble to the substitute mechanism if these multiple MTA's
  4183.  run on the same LOGICAL machine. There are situations where a multi-
  4184.  tasker could create a self-contained DOS-environment. But in most
  4185.  cases (multitaskers), setting a SUBST drive causes this SUBST to
  4186.  'bleed' thru to the other tasks (DesqView to name one, try starting
  4187.  two DOS-shell's, set a SUBST in one DOS-shell and ask for a list of
  4188.  SUBST'ed drives in the other).
  4189.  
  4190.  In these cases, MTA needs to use different substituted drives in the
  4191.  different tasks. Supply as many drive-letters (and alter the LASTDRIVE
  4192.  option along with these specification) as you are going to run multi-
  4193.  ple copies of MTA. So in a case where you run two copies of MTA at the
  4194.  same time, two drive-letters are needed on the SubstDrive option in
  4195.  MTA.CTL. Also read the next chapter !
  4196.  
  4197.  Try the option and be amazed or angry (don't say I didn't warn you).
  4198.  Leave the option out (comment the SubstDrive option) if you are un-
  4199.  sure !
  4200.  
  4201.  Many thanks to Dirk Astrath for suggesting this option. I was already
  4202.  working on a time-consuming and not so fail-save mechanism for the
  4203.  problem, but this is much better and it actually works also !!
  4204.  
  4205.  
  4206.  3.30 Running multiple copies of MTA at the same time
  4207.  ────────────────────────────────────────────────────────────────────────
  4208.  With version 14.01 it is now possible to run multiple copies of MTA at
  4209.  the same time. This could only be the case in networks and in multi-
  4210.  tasking environments like DesqView <tm> or Windows <tm>.
  4211.  
  4212.  I will now point out the things you must set up in MTA for such situa-
  4213.  tions, what MTA will protect and what it won't protect. Having only
  4214.  a full multitasking environment and not a network, I will write this
  4215.  points with a multitasking environment in mind. But they should work
  4216.  the same on a network:
  4217.  
  4218.  Setting up MTA:
  4219.  - If you use the SubstDrive option than you must make sure you use
  4220.    as many drive-letters in this option as you are going to run mul-
  4221.    tiple copies of MTA;
  4222.  - Make sure the LASTDRIVE option is set along with the SubstDrive
  4223.    option;
  4224.  - Make sure you have SHARE.EXE loaded in your machine. Without SHARE
  4225.    MTA will make a mess of things (SURE !);
  4226.  - Make sure that you run all the concurrent copies of MTA all with
  4227.    their own TASK-number, as supplied with /TASK. Failing to do so,
  4228.    would also cause problems (SUBST'ed drives);
  4229.  
  4230.  Protection provided by MTA:
  4231.  - MTA will protect all the files it uses INTERNALLY;
  4232.  - All log-files (if they are the same in all running copies of MTA),
  4233.    all temporary files, all directories and all substituted drives
  4234.    are either unique to the task or SHARE'ed with all other tasks;
  4235.  - All external files (like the FILES.BBS-alike files) are protected
  4236.    when they are altered. This means that these files are SHARE'ed
  4237.    within the multiple copies of MTA but also with other tasks that
  4238.    have SHAREing options like SOME Bulletin Board Systems;
  4239.  - When two MTA's want to access the same file at the same time and
  4240.    with different attributes (one WRITE, one READ for example), one
  4241.    of the tasks will wait until the file is released again. To over-
  4242.    come problems with 'eternal waits' (called deadlocks) you can in-
  4243.    stall an option in MTA.CTL that will manage the maximum time MTA
  4244.    will wait before aborting. Waiting for allocation of a file, will
  4245.    also be the case with external files, provided the 'other' task
  4246.    has used SHAREing attributes with the open of that file;
  4247.  
  4248.  Protection NOT provided by MTA:
  4249.  - MTA will NOT manage anything that happens within the shell's. So
  4250.    when the (de)compressors run or when you are within one of the
  4251.    supplied exits, the called program has to manage the SHAREing by
  4252.    itself.
  4253.  
  4254.  It is almost stupid to say, but be sure to convert different files
  4255.  in each of the copies of MTA. Letting two or more copies of MTA
  4256.  converting the same files, will cause trouble. Though SHAREing is
  4257.  managed, there could be cases where MTA is waiting for a file (it
  4258.  will do so) and when this MTA gets the 'GO' signal, the file could
  4259.  be gone (temporary) because on of the other copies of MTA is working
  4260.  on that file.
  4261.  
  4262.  Running multiple MTA's in a multitasking environment works but there
  4263.  is a big tradeoff. When you don't have enough 'power' on your machine,
  4264.  running two concurrent copies could take as long as serially running
  4265.  these copies. (De)compressors are in the habit to eat lots of your
  4266.  cycles. The multi-tasker also wants to have a little snack and all are
  4267.  eating more food than the PC can supply, causing delays, low perfor-
  4268.  mance and so on. I have tested with several machines, but you need
  4269.  at least a true 386-25 (or a very fast 286, like a 20Mh) or higher
  4270.  to get some results. But in the world where these options of MTA are
  4271.  needed, machine-power is usually available.
  4272.  
  4273.  
  4274.  3.31 Compression of single executable files (PKLITE)
  4275.  ────────────────────────────────────────────────────────────────────────
  4276.  With MTA 14.20 and higher you can also use MTA to do conversions of
  4277.  executable files to compressed (self contained) executable files
  4278.  with PKLITE. This feature merely comes as a bonus to the program.
  4279.  MTA's main goal is to convert archives from a certain system to a
  4280.  system you like. The compression of EXE/COM files can be used as a
  4281.  separate function.
  4282.  
  4283.  Most of the MTA.CTL statements have no meaning to this type of con-
  4284.  version. You can setup MTA to do nothing BUT conversion of COM/EXE
  4285.  files when you set the CompressionType option to PKLITE or UNPKLITE
  4286.  but in this case you only use around 10% of the programs functions.
  4287.  In most cases you setup MTA to do a archive-to-archive conversion
  4288.  and you set CompressionType to the system you like. If you have setup
  4289.  MTA like this (along with all possible options), you can easy use
  4290.  MTA to convert COM/EXE files by including /PKLITE or /UNPKLITE as a
  4291.  command-line option when you call MTA. MTA will ignore all options
  4292.  that have nothing to do with the conversion of executable files and
  4293.  will convert COM/EXE files from normal to PKLITE or back.
  4294.  
  4295.  Included in MTA 14.20 is the interface to the PKLITE program (as you
  4296.  already imagined). I did not include LZEXE because the latest version
  4297.  I have seen can, only convert from normal to LZEXE'ed and not back.
  4298.  There are programs that can do the reversed (LZEXE'ed to normal) but
  4299.  there are at least 3 I have seen and I can not create a protected and
  4300.  generalized interface to all of them (also because 2 of them come as
  4301.  a shell and not as a stand-alone program). This does not mean that
  4302.  MTA is not LZEXE-aware. When selecting files, MTA takes into account
  4303.  if a COM/EXE file is already compressed with LZEXE (0.90 or 0.91) and
  4304.  will skip the file in that case. When decompressing, MTA will only
  4305.  select PKLITE-compressed COM/EXE files.
  4306.  
  4307.  While releasing MTA 14.20 I am working with a new japanese program
  4308.  called DIET (version 1.0) that can do the same thing as PKLITE. If
  4309.  this program comes popular and/or I do not find any problems while
  4310.  testing it, I will include it in one of the next releases. The same
  4311.  goes for LZEXE when a 'both-way' version comes available. Also I
  4312.  will include an option to compress all COM/EXE files inside archives
  4313.  with PKLITE or any other PKLITE-alike program, though this has the
  4314.  risk of automatically creating unusable files.
  4315.  
  4316.  When you run MTA without anmy file-mask, but WITH the /PKLITE or
  4317.  /UNPKLITE option (or CompressionType set to one of both), the
  4318.  tag-window will also change and will only display available files
  4319.  for this type compression.
  4320.  
  4321.  A file is available (and selectable by MTA) for PKLITE if:
  4322.  
  4323.  - It is a COM or EXE file;
  4324.  - If it is not compressed with PKLITE, LZEXE 0.90 or LZEXE 0.91;
  4325.  - If it is not a self-extracting archive (SFX) of any of the known
  4326.    archive systems;
  4327.  
  4328.  A file is available (and selectable by MTA) for UNPKLITE if:
  4329.  
  4330.  - It is a COM or EXE file;
  4331.  - It is compressed with PKLITE;
  4332.  
  4333.  
  4334.  3.32 The MTA tag-window
  4335.  ────────────────────────────────────────────────────────────────────────
  4336.  In previous versions (14.10 and less), the tag-window was not that
  4337.  fancy as it should be. Because of the change in the command-line,
  4338.  where you can now include a directory (and drive) to search for files
  4339.  (remember, it overrules any selection in MTA.CTL, such as the options
  4340.  DefaultPath, RAPaths and QBBSPaths), the tag-menu is also changed.
  4341.  
  4342.  When you run MTA without any file-masks on the command-line, a tag
  4343.  menu is displayed as before. In this tag-menu you have now the option
  4344.  to tag files inside ONE directory. A mix of files in several different
  4345.  directories is impossible.
  4346.  When the tag-menu is displayed, you can switch to other directories
  4347.  and even to other drives. If one or more of the displayed drives is
  4348.  not available (not ready, door open, unformatted disk) it can be
  4349.  selected but the tag-window will ignore it after it has detected any
  4350.  error on that drive.
  4351.  
  4352.  When you start MTA with SFX support (so you include self extracting
  4353.  archives), all files with abonormal extensions and COM/EXE files
  4354.  that are SFX-files, will be included. The testing will take a while,
  4355.  depending on the speed of the drive and the machine you have.
  4356.  
  4357.  If you start MTA with the PKLITE or UNPKLITE option, all available
  4358.  AND selectable files are displayed (see chapter 3.31).
  4359.  
  4360.  
  4361.  3.33 The MTA-child
  4362.  ────────────────────────────────────────────────────────────────────────
  4363.  When MTA detects an archive inside an archive, it will try to convert
  4364.  this archive also (arc-in-arc operations). Normal (small) conversion
  4365.  programs would do this in a recursed way, but MTA is so big and uses
  4366.  so many options that it is almost impossible to handle this recursed.
  4367.  For one arc-in-arc level things could be managed, but with 10 of such
  4368.  levels (so archive in archive in archive .... and so on ...) would be
  4369.  impossible.
  4370.  
  4371.  MTA uses a little trick. MTA can run in two modes, called parent and
  4372.  child mode. In parent mode, MTA is a child of the DOS itself (so MTA
  4373.  is either called from another program, from a batch or the command-
  4374.  line) and this is MTA's primary mode. All mentioned options and all
  4375.  features are available in parent mode. It is called parent mode, be-
  4376.  cause MTA can call itself. The primary MTA is then the parent of the
  4377.  newly called MTA. This secondairy copy of MTA will run in child mode.
  4378.  The child mode will disable some features. Archives contained in
  4379.  archives do not have any need for a banner-comment inside. So the
  4380.  AutoDescription option is not working in child mode. This is not the
  4381.  only feature that does not work in child mode. There are several of
  4382.  them, some dealing with internals, some with options and features
  4383.  (externals).
  4384.  
  4385.  The parent MTA can call one child MTA, but this child MTA (in child
  4386.  mode) can, again, call another copy of MTA that will also run in
  4387.  child mode. This does NOT mean that the 2nd MTA that calls the 3th
  4388.  MTA will switch to parent mode. Only the first copy is in parent
  4389.  mode and all other copies are NEVER in child mode.
  4390.  
  4391.  Without special tricks, memory would not be sufficient to contain
  4392.  more copies of MTA. In general (640K available) there will be just
  4393.  enough room to allow 2 copies of MTA (one parent, one child) in
  4394.  memory and keep enough free space to run a small (e.g. not ARJ or
  4395.  LHARC, but ARC, PKZIP and such) archive program. This special trick
  4396.  is called swapping and is described elsewhere. With swapping set to
  4397.  on, each MTA will keep 4K of memory occupied while calling the next
  4398.  copy of MTA, so a large number of childs can be called before the
  4399.  memory gets low.
  4400.  
  4401.  MTA detects its mode from a command-line option. In previous versions
  4402.  this was the /CHILD parameter but this is changed (in 14.30) to the
  4403.  /| parameter. When you call MTA from the command-line and you supply
  4404.  /|, you will be amazed that MTA will report an error (invalid command-
  4405.  line option). This is because DOS strips the | character (this is the
  4406.  piping character) from the command-line before calling the program.
  4407.  You can still call MTA with /| from a program (I do it myself) but I
  4408.  advise you not to do this. Strange things can happen, because the
  4409.  parent MTA will create an environment for the child to feel itself
  4410.  happy and you will not. So NEVER call MTA with /| on your own.
  4411.  
  4412.  For unregistered users there is also no bonus in calling MTA with
  4413.  /| because the delay-screen is also available in the child and
  4414.  you will loose some options in child mode that are available when
  4415.  you call MTA in parent mode.
  4416.  
  4417.  One final note (an IMPORTANT note). All options that you supply to
  4418.  the parent MTA on the COMMAND-LINE will be passed to the child(s).
  4419.  The child(s) read the MTA.CTL again and MUST use these parameters
  4420.  to overrule some options. For example, you have set the MTA.CTL to
  4421.  compression in ZIP format. Now when you call 'MTA *.ZIP /LZH' forcing
  4422.  MTA to create LZH files (overrule the ZIP) and an arc-in-arc situation
  4423.  is at hand, the child would convert the nested archives to ZIP and
  4424.  not to LZH. This is why several COMMAND-LINE options are passed to
  4425.  the child(s).
  4426.  
  4427.  Normally this will function ok, but when you use a big list of
  4428.  options (almost to the limit of the 121 characters that DOS allows
  4429.  on the command-line), the result could be overflow on the command-
  4430.  line, causing the child to do strange things. This is because of
  4431.  the fact that the parent MTA adds some options to the command-line
  4432.  (/| amongst them) itself. Previous versions of MTA would choke on
  4433.  this, version 14.30 and up will check for this situation and report
  4434.  an error. If this happens there is only one thing to do. Create an
  4435.  alternate MTA.CTL (MTA.ALT or something from your own imagination)
  4436.  and carry the bulk of the COMMAND-LINE options over into this
  4437.  alternate configuration file. Now call MTA with /CTL to point to
  4438.  this alternate file and everything will be ok again (you must leave
  4439.  out all other options naturally).
  4440.  
  4441.  
  4442.  3.34 MTA and unattended operations
  4443.  ────────────────────────────────────────────────────────────────────────
  4444.  Recently there keep on comming questions about the unattended support
  4445.  of MTA. This is all my fault, because the earlier documentation was
  4446.  somewhat cruel on this item (and not without errors either).
  4447.  
  4448.  There are a number of options that influence the way that MTA works
  4449.  in unattended mode. Most of them you can find out when the need is
  4450.  there but some must be pointed out.
  4451.  
  4452.  In most cases you will do an unattended MTA on the same directories
  4453.  each time over and over. First I must point out the way you must
  4454.  setup MTA to work in the right directories. This can be done in one
  4455.  of the 3 following ways:
  4456.  
  4457.  - Put the MTA in a batch-file, change to the right directory before
  4458.    you call MTA and call MTA with its options (see later). You can
  4459.    repeat this for every directory. For example:
  4460.    ..
  4461.    ..
  4462.    D:
  4463.    CD \ZIP1
  4464.    MTA [parameters]
  4465.    E:
  4466.    CD \ZIP2
  4467.    MTA [parameters]
  4468.    ..
  4469.    ..
  4470.    To work on \ZIP1 on D: and \ZIP2 on E:;
  4471.  
  4472.  - Make the batch smaller and use DefaultPath options in MTA.CTL.
  4473.    You include DefaultPath D:\ZIP1 and DefaultPath E:\ZIP2 in
  4474.    MTA.CTL and you can reduce the previous batch to:
  4475.    ..
  4476.    ..
  4477.    MTA [parameters]
  4478.    ..
  4479.    ..
  4480.    To work on those two directories again;
  4481.  
  4482.  - You would like to run MTA on all your directories of a BBS. MTA
  4483.    supports both QuickBBS <tm> and Remote Access <tm> BBS types.
  4484.    You include either the QBBSPaths option or the RAPaths option.
  4485.    Inside the batch you do:
  4486.    ..
  4487.    ..
  4488.    MTA [parameters]
  4489.    ..
  4490.    ..
  4491.    And MTA will work on all files in all BBS directories.
  4492.  
  4493.  Now the next problem. You must tel MTA to work on some files. You
  4494.  can do this in two different ways:
  4495.  
  4496.  - Use file-masks for [parameters]. In the previous examples you
  4497.    could tell MTA to convert all *.ZIP and *.LZH files (ARJ is
  4498.    your target) with 'MTA *.ZIP *.LZH' and MTA will convert all
  4499.    *.ZIP and *.LZH files in the supplied directories;
  4500.  
  4501.  - Use the MarkString and NoMarked options (or /MAS and /MAR on the
  4502.    command-line).
  4503.    This is a better option. In the previous example you would have
  4504.    problems when someone uploaded a *.LZS or *.ARC file. These
  4505.    would not be converted. If you used *.* ALL files would be converted
  4506.    even those that you converted earlier !!!
  4507.    NoMarked can be used to tell MTA only to convert files that confirm
  4508.    to the supplied mask AND that are not converted before. So with
  4509.    the NoMarked and MarkString opions set, the call to MTA can be
  4510.    changed to 'MTA *.*'. Only those files that are not converted before
  4511.    are converted and will not be converted again until you set the
  4512.    NoMarked option to OFF;
  4513.  
  4514.  Finally there are some options that you must change or include. When
  4515.  you run MTA in unattended mode but you don't want MTA to run longer
  4516.  than a certain amount of time (BBS events !!) you can include the
  4517.  RunTime option to limit the number of minutes that MTA can run.
  4518.  Remember that MTA will start in a new archive even when 1 second is
  4519.  left, so you can outrun the RunTime by the time that your machine
  4520.  needs to convert the last archive.
  4521.  Sometimes you can get frequent warnings on some files. In unattended
  4522.  mode these warnings won't be seen, neither do you want to hear the
  4523.  beeping, so put a value of 0 to the WarningTime option. All important
  4524.  things are logged (when you put on the logging).
  4525.  
  4526.  REMEMBER. ALLWAYS include a file-mask. To call MTA without parameters
  4527.  in unattended mode will force MTA to display the tag-menu and to wait
  4528.  until you enter the files.
  4529.  
  4530.  
  4531.  3.35 Other computers
  4532.  ────────────────────────────────────────────────────────────────────────
  4533.  A many asked question deals with LHA, ZOO and ARC files on different
  4534.  kind of computers (AMIGA and such). MTA CAN be used on these files if
  4535.  the archiver creates compatible files BUT with one restriction (see
  4536.  later). For LHARC this means for example, that you should include a
  4537.  /CL/O- or LZHCompression /O- command-line/option.
  4538.  
  4539.  There is only ONE restriction. There can be files inside these archives
  4540.  that contain longer filenames than allowed by DOS. MTA could handle
  4541.  these files but DOS can't. Take xxxVirusSig for example. When this
  4542.  file were extracted, a file xxxVirus.SIG would be created and the new
  4543.  archive would include the point ! Also special types of attributes
  4544.  could cause a problem. These files are therefore ignored by MTA (in
  4545.  general).
  4546.  
  4547.  From parts of LHARC documentation for AMIGA that have been sended to
  4548.  me, I have understood that users of AMIGA-LHARC are advised to make
  4549.  archives that can be handled by DOS itself if they are passed to a
  4550.  DOS-system (for storage or distribution).
  4551.  
  4552.  
  4553.  3.36 Usage in an online-environment (remote BBS logging)
  4554.  ────────────────────────────────────────────────────────────────────────
  4555.  This an all following versions can run as an exit to a BBS-door. The
  4556.  most common example would be FileDoor <tm>. It is possible to implement
  4557.  MTA into FileDoor's ExitAfterUploadx (x is 1, 2 or 3) hook. You should
  4558.  notice though, that implementing online conversion of files, at the
  4559.  expence of the users, is something you must deside carefully. When the
  4560.  users are impatient, it could turn out that users hang up the phone
  4561.  before MTA is terminated (e.g. FileDoor gets control again) or that
  4562.  users don't upload anymore. So think twice before you act.
  4563.  
  4564.  If you implement MTA into a door that runs remote, you can use the
  4565.  /REMOTE switch (there is no counterpart in MTA.CTL) to instruct MTA
  4566.  to also log its action (only a small part of the logging) to the
  4567.  remote node. /REMOTE must be combined with FOSSILPort (/FOSSIL) or
  4568.  COMPort (/COM) and BAUDRate (/BAUD). You can setup the right confi-
  4569.  guration (depending on the BBS-line) with a combination of MTA.CTL
  4570.  options and/or command-line switches.
  4571.  
  4572.  If remote operation (/REMOTE) is wanted, MTA will log the progress
  4573.  to the FOSSIL-port that is configured. MTA will monitor the carrier
  4574.  and will stop logging (but continue working) to the remote side if
  4575.  the carrier is lost.
  4576.  
  4577.  If the door is compatible with FileDoor <tm>, you can instruct MTA
  4578.  to create files with the name [origname].F$D (where [origname] is
  4579.  the filename of the file that is processed). This file will contain
  4580.  the ORIGINAL size of the file before MTA started conversion and can
  4581.  be used to calculate any upload credits. The receiving door must
  4582.  delete these files itself after MTA has created them ! This option
  4583.  is only active when /STOSIZ (StoreSize) is active !
  4584.  
  4585.  
  4586. │3.37 Archives with volume-labels
  4587. │────────────────────────────────────────────────────────────────────────
  4588. │Currently ZIP and ARJ support volume-labels. These little entries in
  4589. │these archives can cause a pain in the head of the programmer and so
  4590. │they did me. I first tried to do it the fancy way but any of these
  4591. │options caused MTA to use to much memory, so I have implemented it
  4592. │in a simple but working way.
  4593. │When you convert ZIP to ZIP you don't have to get special versions,
  4594. │but if you use ARJ in the process (so ZIP to ARJ or ARJ to ZIP or
  4595. │ARJ to ARJ) you need version 2.10 of ARJ otherwise you get errors.
  4596. │There are some special things you must do, before you can use the
  4597. │KeepVolLabel (/KeepVL) option. Here's a checklist:
  4598. │- Make sure that a 'standard' DOS label program is inside the DOS
  4599. │  path under the name LABEL.EXE (default) or LABEL.COM (alternate).
  4600. │  MTA will call the label-program with the syntax:
  4601. │  LABEL.ext drive:description
  4602. │  If no LABEL.EXE/COM is available and KeepVolLabel is set to active,
  4603. │  MTA will abort;
  4604. │- Assign a label to the drive that MTA will use for the temporary
  4605. │  path. If there isn't a volume-label and a file with volume-label
  4606. │  inside is to be converted, you will get a warning and MTA will
  4607. │  label the drive to 'MTA LABELED';
  4608. │- Make sure you use ARJ 2.10 or higher when you convert from and/or
  4609. │  to ARJ;
  4610. │- Set the KeepVolLabel option to active or use the /KEEPVL command-
  4611. │  line switch if KeepVolLabel is not active, to activate the con-
  4612. │  version of volume-labels.
  4613. │What does MTA do when converting volume labels:
  4614. │- All following actions are only done for a file that actually con-
  4615. │  tains a volume label. And they are done for each of the files
  4616. │  that you selected and contain a volume-label;
  4617. │- Before decompressing, MTA will obtain the current volume-label
  4618. │  from the drive that contains the temporary path;
  4619. │- Conversion is set with decompression of volume-label to ON. For
  4620. │  ZIP, the current drive (e.g. the drive that contains the tempo-
  4621. │  rary path) is used (-$), for ARJ this drive is assigned (-$drive:);
  4622. │- Conversion continues by setting compression with volume-label to
  4623. │  ON. For both ARJ and ZIP, the drive is assigned (-$drive/-$drive:);
  4624. │- After compression, MTA calls LABEL.EXE/COM with the old volume
  4625. │  label to restore this label;
  4626. │The above actions do NOT take place if the source archive does not
  4627. │contain a label otherwise the target should always contain the volume-
  4628. │label of your temporary drive and that is not what you want. If the
  4629. │target is non-ZIP or non-ARJ, the labels are changed because I have
  4630. │made MTA prepared for other archivers that will support volume-labels
  4631. │in newer releases.
  4632. │If the source is an AV'ed ARJ or ZIP and contains a volume label, the
  4633. │label is also changed but that will have no meaning and/or result if
  4634. │you have set the KeepAV option to on because in that case, compression
  4635. │is not started.
  4636. │If anywhere between decompression and compression an error occurs, MTA
  4637. │will try to restore the old volume-label. There could be instances
  4638. │where this does not happen but those are not foreseen (runtime errors).
  4639. │Be sure that your LABEL.EXE/LABEL.COM works unattended (test it before-
  4640. │hand). Also there are some versions of LABEL that will use incorrect
  4641. │conversion. If a label is 11 bytes and contains DISK......1 (the points
  4642. │are spaces), LABEL drive:DISK......1 (points are again spaces) will
  4643. │result in a label DISK.1 and not DISK......1. If this happens with
  4644. │your LABEL.EXE/COM and you don't want it, you can not use KeepVolLabel.
  4645. │Newer versions of MTA are planned to have an internal label-routine
  4646. │that CAN work in the correct way and still unattended !
  4647.  
  4648.  ┌───────┬─────────────────────────────────────────────────────────────┐
  4649.  │   4   │ Runtime information                                         │
  4650.  └───────┴─────────────────────────────────────────────────────────────┘
  4651.  
  4652.  4.1 Command-line switches
  4653.  ────────────────────────────────────────────────────────────────────────
  4654.  MTA is driven with the MTA.CTL file, but I can imagine that you want
  4655.  to use (or change) some of the options temporary. This can be done
  4656.  with a number of command-line switches.
  4657.  
  4658.  The syntax to start MTA is:
  4659.  
  4660.  MTA filespec filespec filespec ... [switches]
  4661.  
  4662.  Switches must start with a slash ('/') and are separated with one or
  4663.  more spaces.
  4664.  
  4665.  You can also use a different (alternate) CTL-file. In this case you
  4666.  must include the /CTL[filename] somewhere in the command-line switches.
  4667.  [filename] must point to the full drive/path/name of the alternate
  4668.  MTA.CTL file.
  4669.  
  4670.  You can supply MTA with a maximum of 25 different filespecs (e.g. *.ARC
  4671.  *.PAK *.ZIP). The various filespecs have NO meaning when you use the
  4672.  /D switch and MTA.CTL contains AllDisketteFiles !
  4673.  
  4674.  A complete list of switches follows:
  4675.  
  4676.  ┌─────────────────────────────────────────────────────────────────────┐
  4677.  │ /?                                                                  │
  4678.  └─────────────────────────────────────────────────────────────────────┘
  4679.  If you supply /? to MTA, you will get a full-screen help function. In
  4680.  this help-function you can browse thru the available command-line.
  4681.  The help-function is a chained program that MTA will call (MTA.CH2).
  4682.  This is done to preserve memory for MTA itself.
  4683.  
  4684.  ┌─────────────────────────────────────────────────────────────────────┐
  4685.  │ /TASKnn                                                             │
  4686.  └─────────────────────────────────────────────────────────────────────┘
  4687.  This command-line has only a meaning when running multiple copies of
  4688.  MTA at the same time. Look into chapter 3.30 for a description of this
  4689.  option.
  4690.  
  4691.  ┌─────────────────────────────────────────────────────────────────────┐
  4692.  │ /LVL0                                                               │
  4693.  └─────────────────────────────────────────────────────────────────────┘
  4694.  With /LVL0 you can instruct MTA to work on all selected files in the
  4695.  current directory. Coding /LVL0 is the same as coding /W without a
  4696.  directory name. /LVL0 overrules any DefaultPath option in the MTA.CTL
  4697.  (alike) file.
  4698.  
  4699.  ┌─────────────────────────────────────────────────────────────────────┐
  4700.  │ /LVL1                                                               │
  4701.  └─────────────────────────────────────────────────────────────────────┘
  4702.  With /LVL1 you can instruct MTA to work on all selected files in all
  4703.  directories UNDER (not including) the current. This option overrules
  4704.  the DefaultPath option(s). Also you can (an may) not use the /W option
  4705.  in the command-line.
  4706.  BBS systems can use this option well if all their area-directories
  4707.  are under the current directory !
  4708.  
  4709.  ┌─────────────────────────────────────────────────────────────────────┐
  4710.  │ /LVL2                                                               │
  4711.  └─────────────────────────────────────────────────────────────────────┘
  4712.  With /LVL2 you can instruct MTA to work on all selected files in all
  4713.  directories UNDER AND INCLUDING the current. This option overrules
  4714.  the DefaultPath option(s). Also you can (an may) not use the /W option
  4715.  in the command-line.
  4716.  BBS systems can use this option well if all their area-directories
  4717.  are under and including the current directory !
  4718.  
  4719.  ┌─────────────────────────────────────────────────────────────────────┐
  4720.  │ /LVL3                                                               │
  4721.  └─────────────────────────────────────────────────────────────────────┘
  4722.  With /LVL3 you can instruct MTA to work on the COMPLETE current drive.
  4723.  All directories on this drive will be selected by MTA, provided that
  4724.  there are NO MORE than 255 directories on this drive. This option also
  4725.  overrules the DefaultPath option(s) in MTA.CTL.
  4726.  
  4727.  ┌─────────────────────────────────────────────────────────────────────┐
  4728.  │ /ARC                                                                │
  4729.  │ /DWC                                                                │
  4730.  │ /LZH                                                                │
  4731.  │ /LZS                                                                │
  4732.  │ /OWN                                                                │
  4733.  │ /PAK                                                                │
  4734.  │ /ZIP                                                                │
  4735.  │ /ZOO                                                                │
  4736.  │ /MD                                                                 │
  4737.  │ /ARJ                                                                │
  4738.  │ /HYP                                                                │
  4739.  │ /PKLITE                                                             │
  4740.  │ /UNPKLITE                                                           │
  4741.  └─────────────────────────────────────────────────────────────────────┘
  4742.  Normally MTA converts files to the system supplied in the MTA.CTL
  4743.  option CompressionType. With this switches you can overrule the
  4744.  current CompressionType with another system. When you supply
  4745.  more than one of these switches, the last will be active.
  4746.  
  4747.  ┌─────────────────────────────────────────────────────────────────────┐
  4748.  │ /SIM                                                                │
  4749.  └─────────────────────────────────────────────────────────────────────┘
  4750.  This option (only implemented as a runtime command-line option) can be
  4751.  used to run MTA in simulate mode. This mode will do the following:
  4752.  - Select files depending on mask/menu;
  4753.  - Decompress the file(s);
  4754.  - Scan for Virus;
  4755.  - Call exits;
  4756.  - Next file.
  4757.  With this option you can use MTA to scan for a virus in any archive or
  4758.  archives without compressing them back again. MTA will do the normal
  4759.  extraction (in the temporary directory or RAM-disk) but will not do the
  4760.  compression again.
  4761.  
  4762.  ┌─────────────────────────────────────────────────────────────────────┐
  4763.  │ /NO4DOS                                                             │
  4764.  └─────────────────────────────────────────────────────────────────────┘
  4765.  This is the same as coding the Not4DosAware option in MTA.CTL. Look
  4766.  into the chapter about 4Dos.
  4767.  
  4768.  ┌─────────────────────────────────────────────────────────────────────┐
  4769.  │ /D                                                                  │
  4770.  │ /D=d:                                                               │
  4771.  └─────────────────────────────────────────────────────────────────────┘
  4772.  This is a 'stand alone' switch, meaning that it has no counterpart
  4773.  in the MTA.CTL.
  4774.  This switch must be included when you want to activate the diskette
  4775.  support (FDUTrashPath and FDUTempPath must be available in MTA.CTL).
  4776.  When you supply /D, MTA forces to the A: drive, when this is not
  4777.  what you want, you can supply /D=d: (where d: is a valid drive) to
  4778.  MTA. If you want to convert a diskette and also, at the same time,
  4779.  you want to convert to a different type of media (say 360Kb to 1.2Mb)
  4780.  you can supply /D=A: /MB:\, telling MTA to convert all diskettes from
  4781.  drive A: to drive B:.
  4782.  
  4783.  ┌─────────────────────────────────────────────────────────────────────┐
  4784.  │ /W                                                                  │
  4785.  │ /W[path]                                                            │
  4786.  └─────────────────────────────────────────────────────────────────────┘
  4787.  Normally MTA works on files in the list of DefaultPath directories
  4788.  or the default directory if non were specified in MTA.CTL. You
  4789.  can overrule this behavior by adding a /W command-line switch.
  4790.  /W       instructs MTA to work on the current directory, overruling
  4791.           all Defaultpath options in MTA.CTL;
  4792.  /Wpath   instructs MTA to work in the supplied directory, overruling
  4793.           all DefaultPath options in MTA.CTL;
  4794.  /W works along fine with the full-screen selection but /W is ignored
  4795.  when you include a drive and/or directory in one of the file-masks.
  4796.  
  4797.  ┌─────────────────────────────────────────────────────────────────────┐
  4798.  │ /C                                                                  │
  4799.  │ /H                                                                  │
  4800.  │ /L                                                                  │
  4801.  │ /F                                                                  │
  4802.  └─────────────────────────────────────────────────────────────────────┘
  4803.  One of these switches (when used) overrule the current option in
  4804.  MTA.CTL for the MTA touching system.
  4805.  /C      forces MTA to touch archives with the current date
  4806.  /H        ,,    ,, to touch archives with the highest date found in
  4807.                     the archive;
  4808.  /L        ,,    ,, to touch archives with the lowest date found in
  4809.                     the archive;
  4810.  /F        ,,    ,, to retain the original archive date;
  4811.  
  4812.  ┌─────────────────────────────────────────────────────────────────────┐
  4813.  │ /M                                                                  │
  4814.  │ /Mpath                                                              │
  4815.  └─────────────────────────────────────────────────────────────────────┘
  4816.  Only /M makes the current setting of MoveToDir in MTA.CTL inactive.
  4817.  /Mpath (where path is a valid path (absolute or relative to the
  4818.  current path) forces MTA to use this path to move files to after
  4819.  conversion (even if MoveToDir was not supplied in MTA.CTL).
  4820.  When using /Mpath with /D, converted files will be moved to the drive
  4821.  supplied in [path].
  4822.  
  4823.  ┌─────────────────────────────────────────────────────────────────────┐
  4824.  │ /CZnnn_nnn                                                          │
  4825.  └─────────────────────────────────────────────────────────────────────┘
  4826.  This parameter overrules the options for ZIPCompression options in
  4827.  MTA.CTL. You must code the compression options just like you do when
  4828.  running ZIP, but if you use more than one option (like -ea4 -eb2),
  4829.  you must NOT separate them with a space but with an underscore (like
  4830.  -ea4_-eb2).
  4831.  Refer to the PKZIP documentation (-eax, -ebx, -exn, -ex and -es options).
  4832.  
  4833.  ┌─────────────────────────────────────────────────────────────────────┐
  4834.  │ /CDn_n_n                                                            │
  4835.  └─────────────────────────────────────────────────────────────────────┘
  4836.  This parameter overrules the options for DWCCompression options in
  4837.  MTA.CTL. You must code the compression options just like you do when
  4838.  running DWC (or example z for size or y for speed), but if you use more
  4839.  than one option, you must NOT separate them with a space but with an
  4840.  underscore (like y_myoption).
  4841.  
  4842.  ┌─────────────────────────────────────────────────────────────────────┐
  4843.  │ /CJn_n_n                                                            │
  4844.  └─────────────────────────────────────────────────────────────────────┘
  4845.  This parameter overrules the options for ARJCompression options in
  4846.  MTA.CTL. You must code the compression options just like you do when
  4847.  running ARJ (or example -m1), but if you use more than one option,
  4848.  you must NOT separate them with a space but with an underscore (like
  4849.  -m1_myoption).
  4850.  
  4851.  ┌─────────────────────────────────────────────────────────────────────┐
  4852.  │ /CHn_n_n                                                            │
  4853.  └─────────────────────────────────────────────────────────────────────┘
  4854.  This parameter overrules the options for LZHCompression options in
  4855.  MTA.CTL. You must code the compression options just like you do when
  4856.  running LZH (or example /A+), but if you use more than one option,
  4857.  you must NOT separate them with a space but with an underscore (like
  4858.  /A1_myoption).
  4859.  
  4860.  ┌─────────────────────────────────────────────────────────────────────┐
  4861.  │ /CLn_n_n                                                            │
  4862.  └─────────────────────────────────────────────────────────────────────┘
  4863.  This parameter overrules the options for PKLITECompression options in
  4864.  MTA.CTL. You must code the compression options just like you do when
  4865.  running PKLITE (or example -b), but if you use more than one option,
  4866.  you must NOT separate them with a space but with an underscore (like
  4867.  -b_-n).
  4868.  
  4869.  ┌─────────────────────────────────────────────────────────────────────┐
  4870.  │ /Z                                                                  │
  4871.  │ /Zfile                                                              │
  4872.  └─────────────────────────────────────────────────────────────────────┘
  4873.  You can assign a text-file to be added to ZIP, PAK and ZOO files when
  4874.  you use the /Zfile option. [file] must be a valid file. You can (must)
  4875.  supply path and drive to the file.  Refer to AutoDescription in
  4876.  MTA.CTL.  /Z blanks the current setting of AutoDescription (if
  4877.  set).
  4878.  
  4879.  ┌─────────────────────────────────────────────────────────────────────┐
  4880.  │ /CARCOM or /CARCOMn                                                 │
  4881.  └─────────────────────────────────────────────────────────────────────┘
  4882.  When using /CARCOM, you out-rule the CarryComment option in MTA.CTL
  4883.  (if any). When you want to include this option, you must supply this
  4884.  switch with the valid CarryComment type (e.g. 1, 2 or 3).
  4885.  
  4886.  ┌─────────────────────────────────────────────────────────────────────┐
  4887.  │ /AFB                                                                │
  4888.  └─────────────────────────────────────────────────────────────────────┘
  4889.  This is a toggle for the AddFilesBBS option. If present in MTA.CTL,
  4890.  /AFB will turn it off and reversed.
  4891.  
  4892.  ┌─────────────────────────────────────────────────────────────────────┐
  4893.  │ /P                                                                  │
  4894.  └─────────────────────────────────────────────────────────────────────┘
  4895.  When you supply /P, MTA does not write to the MTA.LOG.
  4896.  
  4897.  ┌─────────────────────────────────────────────────────────────────────┐
  4898.  │ /@[filename & path]                                                 │
  4899.  └─────────────────────────────────────────────────────────────────────┘
  4900.  You can supply the files to be converted by means of an external
  4901.  file if you have more than will fit on the command-line (on when you
  4902.  make MTA part of an automated environment). The filename you supply
  4903.  must exist ! You also can supply the full drive and path information.
  4904.  
  4905.  The file must be a ASCII flat-file, containing a file (path and
  4906.  drive may be included but they will be stripped by MTA) in every
  4907.  single line. The file (path and file) can be preceded by white spaces
  4908.  and the line may contain more information, but this must be separated
  4909.  from the filename with at least one space ! In fact the full-screen
  4910.  chain creates such a file (MTA_MENU.$$$) that is processed by MTA
  4911.  and deleted after processing has take place. If you use /@, the file
  4912.  you supply is NOT deleted !
  4913.  
  4914.  The ASCII file CAN contain wildcards but unlike the command-line
  4915.  execution, extensions are NOT expanded with '.*' if no extension
  4916.  is available.
  4917.  
  4918.  ┌─────────────────────────────────────────────────────────────────────┐
  4919.  │ /IPpassword                                                         │
  4920.  └─────────────────────────────────────────────────────────────────────┘
  4921.  When you convert one or more encrypted files to new archives (they must
  4922.  all have the same password), you must include /IP with the correct
  4923.  password. /IP has no counterpart in MTA.CTL. You must always supply
  4924.  this option manually.
  4925.  
  4926.  ┌─────────────────────────────────────────────────────────────────────┐
  4927.  │ /OPpassword                                                         │
  4928.  │ /OP@                                                                │
  4929.  └─────────────────────────────────────────────────────────────────────┘
  4930.  When you want MTA to create encrypted archives (ARC, PAK, PK(ARC)(PAK),
  4931.  ZIP and DWC targets), you must supply /OP with the password you want
  4932.  to use. There is no counterpart for this switch in MTA.CTL. For ZIP
  4933.  and DWC targets you can use a 'trick' to supply a fixed password in
  4934.  MTA.CTL by using the ZipCompression and/or DWCCompression options.
  4935.  ZipCompression can be set to something like '-ex-smypassword' and
  4936.  DWCCompression to 'zgmypassword' where 'mypassword' is the password
  4937.  you want to use.
  4938.  
  4939.  With /OP you can use some special generic parameters. These parameters
  4940.  are replaced by MTA to create a new password. They are:
  4941.  
  4942.  $JD     Julian date-number. This is the day-number since the start
  4943.          of the current year, so 01/01/1991 has a julian datenumber
  4944.          of 001, 01/02/91 has julian datenumber 032;
  4945.  
  4946.  $JY     Julian year-component. These are the last 2 bytes of the
  4947.          current year, so 91 in 1991;
  4948.  
  4949.  $ND     The current day   (2 positions always);
  4950.  $NM     The current month (2 positions always);
  4951.  $NY     The current year  (4 positions always);
  4952.  $FN     The current filename (only name, not extension)
  4953.  
  4954.  So /OP$JY$JDFile will create password 91112File on 22th of April 1991
  4955.  and /OPFile$ND$NM$JY will create File220491 on the same date. You can
  4956.  mix parameters and text as long as there are no spaces in the password;
  4957.  
  4958.  I strongly advise NOT to use this trick but to supply /OP (in the
  4959.  'worst' case you can create a batch-file with a fixed /OP switch).
  4960.  You can log the files that are worked on with /OP if you set the
  4961.  NormalPasswordListPath option.
  4962.  
  4963.  /OP@ is a special option to create password protected (encrypted)
  4964.  target files but now MTA will create a RANDOM password. The password
  4965.  MTA has used on a certain file (each file gets a NEW random password)
  4966.  is listed in the file you supplied in the RandomPasswordListPath
  4967.  option or in MTA.PWD (in the supplied path or the current directory).
  4968.  
  4969.  ┌─────────────────────────────────────────────────────────────────────┐
  4970.  │ /E                                                                  │
  4971.  └─────────────────────────────────────────────────────────────────────┘
  4972.  When you supply /E, MTA does not write to the MTA.ERR file (error
  4973.  log).
  4974.  
  4975.  ┌─────────────────────────────────────────────────────────────────────┐
  4976.  │ /DI                                                                 │
  4977.  │ /DE                                                                 │
  4978.  │ /DD                                                                 │
  4979.  └─────────────────────────────────────────────────────────────────────┘
  4980.  You can disable the inclusion (/DI) or exclusion (/DE) of files
  4981.  from the converted files even if the options in MTA.CTL are set.
  4982.  /DD will disable any DoNot statement in MTA.CTL. All supplied DoNot
  4983.  statements will be skipped.
  4984.  
  4985.  ┌─────────────────────────────────────────────────────────────────────┐
  4986.  │ /E1                                                                 │
  4987.  │ /E2                                                                 │
  4988.  │ /EB                                                                 │
  4989.  │ /EG                                                                 │
  4990.  └─────────────────────────────────────────────────────────────────────┘
  4991.  These options disable the working of the exits. /E1 disables the
  4992.  ExitBeforeFill exit, /E2 the ExitAfterFill, /EG the common
  4993.  ExitAfterCompress exit and /EB the ExitBetweenConversion exit.
  4994.  
  4995.  ┌─────────────────────────────────────────────────────────────────────┐
  4996.  │ /U                                                                  │
  4997.  │ /Ufilename                                                          │
  4998.  │ /Udrive:path\filename                                               │
  4999.  └─────────────────────────────────────────────────────────────────────┘
  5000.  This option toggles the FilesBBS option. If this option is not set,
  5001.  using /U sets the option. If it was set, using /U disables it.
  5002.  /U using to set the FilesBBS option, sets this option to search for
  5003.  the file with the name FILES.BBS.
  5004.  If you want to set the FilesBBS option AND you want to change the
  5005.  name of FILES.BBS to something else, you must use the second type
  5006.  (/Ufilename). [filename] is used for the search and not FILES.BBS.
  5007.  If you have only one descriptive file on a fixed location, you must
  5008.  use the third option to set the FilesBBS option. In this case you
  5009.  supply both the path (drive) and the filename to MTA.
  5010.  
  5011.  ┌─────────────────────────────────────────────────────────────────────┐
  5012.  │ /UPGRADE                                                            │
  5013.  └─────────────────────────────────────────────────────────────────────┘
  5014.  This option toggles the OnlyUpgrade option. If this option is not set,
  5015.  using /UPGRADE sets the option. If is was set, using /UPGRADE disables
  5016.  it.
  5017.  
  5018.  ┌─────────────────────────────────────────────────────────────────────┐
  5019.  │ /NOMOUSE                                                            │
  5020.  └─────────────────────────────────────────────────────────────────────┘
  5021.  This option tells MTA that mouse-support should be shut off. It only
  5022.  has a meaning when a mouse-driver is active and a mouse connected.
  5023.  The in-between option, available in MTA.CTL, is not supported as a
  5024.  command-line switch.
  5025.  
  5026.  ┌─────────────────────────────────────────────────────────────────────┐
  5027.  │ /VMODE or /VMODE [mode]                                             │
  5028.  └─────────────────────────────────────────────────────────────────────┘
  5029.  Used as /VMODE it will reset any VideoMode as set in MTA.CTL. Used as
  5030.  /VMODE [mode] it will instruct MTA to switch to [mode] independent of
  5031.  any available VideoMode option in MTA.CTL.
  5032.  
  5033.  ┌─────────────────────────────────────────────────────────────────────┐
  5034.  │ /EXTTST                                                             │
  5035.  └─────────────────────────────────────────────────────────────────────┘
  5036.  /EXTTST is a toggle. If ExtendedTesting is not available in MTA.CTL,
  5037.  the command will set it to on, otherwise it will set it to off.
  5038.  
  5039.  ┌─────────────────────────────────────────────────────────────────────┐
  5040.  │ /SFX                                                                │
  5041.  └─────────────────────────────────────────────────────────────────────┘
  5042.  This option toggles the SFXFILES option. If this option is not set,
  5043.  using /SFX sets the option. If is was set, using /SFX disables it.
  5044.  
  5045.  ┌─────────────────────────────────────────────────────────────────────┐
  5046.  │ /LEA                                                                │
  5047.  └─────────────────────────────────────────────────────────────────────┘
  5048.  This option toggles the KeepAbnormalExtensions option. If this option
  5049.  is not set, using /LEA sets the option. If it was set, /LEA disables
  5050.  it.
  5051.  
  5052.  ┌─────────────────────────────────────────────────────────────────────┐
  5053.  │ /TIM                                                                │
  5054.  └─────────────────────────────────────────────────────────────────────┘
  5055.  This option disables any RunTime parameter in the MTA.CTL file. This
  5056.  comes in handy with BBS setups where the SysOp wants to use MTA as a
  5057.  stand-alone program.
  5058.  
  5059.  ┌─────────────────────────────────────────────────────────────────────┐
  5060.  │ /MAR                                                                │
  5061.  └─────────────────────────────────────────────────────────────────────┘
  5062.  This option toggles the NoMarked option. If this option is not set,
  5063.  using /MAR sets the option. If is was set, using /MAR disables it.
  5064.  
  5065.  ┌─────────────────────────────────────────────────────────────────────┐
  5066.  │ /MAH                                                                │
  5067.  │ /MAHstring                                                          │
  5068.  └─────────────────────────────────────────────────────────────────────┘
  5069.  This option can be used to change the MarkHeader option. When you
  5070.  use /MAH, MarkHeader is set to the default.
  5071.  If you use /MAHstring, the mark-header is set to [string]. [string]
  5072.  must be 6 bytes or shorter and spaces are not allowed.
  5073.  
  5074.  ┌─────────────────────────────────────────────────────────────────────┐
  5075.  │ /MAS                                                                │
  5076.  │ /MASstring                                                          │
  5077.  └─────────────────────────────────────────────────────────────────────┘
  5078.  This option can be used to change the MarkString option. When you
  5079.  use /MAS, MarkString is set to the default.
  5080.  If you use /MAHstring, the mark-string is set to [string]. [string]
  5081.  must be 14 bytes or shorter and spaces must be coded as underscore
  5082.  characters.
  5083.  
  5084.  ┌─────────────────────────────────────────────────────────────────────┐
  5085.  │ /UNMARK                                                             │
  5086.  └─────────────────────────────────────────────────────────────────────┘
  5087.  This option is used as a toggle. If UnMark is set in MTA.CRL, /UNMARK
  5088.  will set it to off otherwise it will set it to on.
  5089.  
  5090.  ┌─────────────────────────────────────────────────────────────────────┐
  5091.  │ /OOA                                                                │
  5092.  └─────────────────────────────────────────────────────────────────────┘
  5093.  This option activates the MTA optimize option. All files are optimized
  5094.  to the smallest amount.
  5095.  
  5096.  ┌─────────────────────────────────────────────────────────────────────┐
  5097.  │ /AIA                                                                │
  5098.  └─────────────────────────────────────────────────────────────────────┘
  5099.  This option toggles the NoArcInArc option. When this option is ON, it
  5100.  will be set to OFF, otherwise it is set to ON;
  5101.  
  5102.  ┌─────────────────────────────────────────────────────────────────────┐
  5103.  │ /KEEPAV                                                             │
  5104.  └─────────────────────────────────────────────────────────────────────┘
  5105.  This option toggles the KeepAV option. When this option is set to ON,
  5106.  KEEPAV will set it to OFF and reversed.
  5107.  
  5108. │┌─────────────────────────────────────────────────────────────────────┐
  5109. ││ /KEEPAV                                                             │
  5110. │└─────────────────────────────────────────────────────────────────────┘
  5111. │This option toggles the KeepVolLab option. When this option is set to
  5112. │ON, KeepVolLab will set it to OFF and reversed.
  5113.  
  5114.  ┌─────────────────────────────────────────────────────────────────────┐
  5115.  │ /ALL                                                                │
  5116.  └─────────────────────────────────────────────────────────────────────┘
  5117.  This option toggles the AllDisketteFiles option. When this option is
  5118.  set to ON, /ALL will set it to OFF and reversed.
  5119.  
  5120.  ┌─────────────────────────────────────────────────────────────────────┐
  5121.  │ /BAUD[baudrate]                                                     │
  5122.  └─────────────────────────────────────────────────────────────────────┘
  5123.  Tell MTA to work on [baudrate] for remote logging. This option only
  5124.  works when /REMOTE is used.
  5125.  
  5126.  ┌─────────────────────────────────────────────────────────────────────┐
  5127.  │ /COM[comport]                                                       │
  5128.  └─────────────────────────────────────────────────────────────────────┘
  5129.  Tell MTA to work on [comport] for remote logging. This option only
  5130.  works when /REMOTE is used. If COM-port - 1 does not equal the FOSSIL
  5131.  port to use, than you must use /FOSSIL.
  5132.  
  5133.  ┌─────────────────────────────────────────────────────────────────────┐
  5134.  │ /FOSSIL[fossilport]                                                 │
  5135.  └─────────────────────────────────────────────────────────────────────┘
  5136.  Tell MTA to work on [fossilport] for remote logging. This option only
  5137.  works when /REMOTE is used. If COM-port - 1 does not equal the FOSSIL
  5138.  port to use, you must use this option. Otherwise you can also use the
  5139.  /COM option.
  5140.  
  5141.  ┌─────────────────────────────────────────────────────────────────────┐
  5142.  │ /REMOTE                                                             │
  5143.  └─────────────────────────────────────────────────────────────────────┘
  5144.  When this option is set, MTA will give a small progress log on the
  5145.  remote side. This remote session is defined with the baudrate (/BAUD)
  5146.  and port (/COM or /FOSSIL) or the equivalent options in MTA.CTL. Only
  5147.  when /REMOTE is used, these other options will have a meaning. You can
  5148.  put them in MTA.CTL and they will only be activated when /REMOTE is
  5149.  set.
  5150.  
  5151.  ┌─────────────────────────────────────────────────────────────────────┐
  5152.  │ /STOSIZ                                                             │
  5153.  └─────────────────────────────────────────────────────────────────────┘
  5154.  This option toggles the StoreSize option in MTA.CTL. When set to on,
  5155.  /STOSIZ will set it to off and reversed.
  5156.  
  5157.  ┌─────────────────────────────────────────────────────────────────────┐
  5158.  │ /|                                                                  │
  5159.  └─────────────────────────────────────────────────────────────────────┘
  5160.  Finally there is one switch YOU MAY NEVER USE YOURSELF. I mention this
  5161.  switch, because some of you would find it out, even if I did not
  5162.  mention it and I think you can better know what it does.
  5163.  
  5164.  A detailed description is available in the chapter 'The MTA-child'
  5165.  (chapter 3.33).
  5166.  
  5167.  
  5168.  MTA in combination with unattended operations need some special care.
  5169.  Also there are several switches and options available to make the
  5170.  work easy. A detailed description of unattended operations is available
  5171.  in the chapter 'MTA and unattended operations' (chapter 3.34).
  5172.  
  5173.  
  5174.  4.2 Aborting MTA
  5175.  ────────────────────────────────────────────────────────────────────────
  5176.  There is only one way to abort MTA before it's normal end. When MTA
  5177.  is busy, you can press [ESC]. MTA will (in time) display that it
  5178.  will terminate soon and terminates after the CURRENT file is converted
  5179.  You can release the termination by hitting any other key. In that case
  5180.  MTA will continue.
  5181.  The termination option does NOT work with the /D switch !!
  5182.  Apart from terminating with the ESC-key, you can limit the execution
  5183.  time with the RunTime option (see MTA.CTL).
  5184.  
  5185.  Termination with the mouse (if you do not use /D) is also possible
  5186.  and a special form of termination with ITS is also supported;
  5187.  
  5188.  
  5189.  4.3 LOG file
  5190.  ────────────────────────────────────────────────────────────────────────
  5191.  MTA makes a log of almost everything (unless you specify NoLog in the
  5192.  MTA.CTL file or supply /L as a runtime switch).
  5193.  You can browse thru the log with a program like V.Buerg's LIST or with
  5194.  the 'good old' TYPE command.
  5195.  
  5196.  The log-style can be adjusted to the users need with three different
  5197.  options (LogStyleFormat, LogDateFormat and LogTimeFormat). Also you
  5198.  can combine all three possible logs (the 'normal' log, by default
  5199.  called MTA.LOG, the error log, by default called MTA.ERR and the
  5200.  password log, by default called MTA.PWD) into one log-file because
  5201.  MTA will open AND close the log for every record it has to write to
  5202.  the log !
  5203.  
  5204.  Depending on the number of files MTA has to convert, the MTA.LOG file
  5205.  can get very large. I have supplied a program (MTL.EXE) to solve this
  5206.  problem.
  5207.  With MTL.EXE you can make a statistical review of your log-file. In
  5208.  addition, you can instruct MTL to shorten the log-file. MTL will
  5209.  rewrite the MTA.LOG file with only the total counters so far. The next
  5210.  run MTL will 'see' these counters again and adjust the current counters
  5211.  with these values.
  5212.  
  5213.  MTL depends on the format of the log-file. Therefor you should not make
  5214.  any changes to the current log-file, but make a copy of the file and
  5215.  work on the copy and not the original. MTL IS able to detect a
  5216.  customized log and will adjust itself to search on the right places.
  5217.  Also, records of different kind can be available in the log (in case of
  5218.  a mailer or BBS program). MTL will skip these records but remember. If
  5219.  you want to clean the log with MTL, MTL will also remove all NON-MTA
  5220.  records from the log !
  5221.  
  5222.  If you get tired of the log, delete it, and MTA will create a new one.
  5223.  
  5224.  When MTA calls itself as a child invocation, the child MTA does not
  5225.  do any logging !
  5226.  
  5227.  
  5228.  4.4 The (de)compressors
  5229.  ────────────────────────────────────────────────────────────────────────
  5230.  As already stated, MTA depends on the ORIGINAL compression/decompression
  5231.  programs. As you have seen, you can instruct MTA to look for these
  5232.  programs in fixed directories.
  5233.  If you don't supply fixed paths, MTA will search in the current
  5234.  directory, the directory where MTA.EXE is in (only DOS 3.xx) and the
  5235.  DOS-path for these files. When you own a rather slow HDU (or machine),
  5236.  it could take several seconds for MTA to search for all these
  5237.  (de)compressors. In these cases, use the MTA.CTL file to point out
  5238.  where these programs are.
  5239.  
  5240.  There is one little trick you should know of. Of course you know that
  5241.  there was a 'war' going on between SEA and PKWare. NoGate's PAK (also
  5242.  a very nice program) can do best of both worlds and more.
  5243.  
  5244.  I am no judge, and I will not make any judgments but I find that I
  5245.  should respect the results of the 'war'. I can imagine that some (or
  5246.  many) of you have always used PKWare's program's and don't own a copy
  5247.  of ARC (not even a evaluation copy), but others have both programs.
  5248.  
  5249.  PAK.EXE is downward compatible with (old) PKWare and PKWare is downward
  5250.  compatible with ARC.EXE. Depending on the internal structure of the
  5251.  source file, MTA will take ARC.EXE first, then PKWare and then PAK.EXE.
  5252.  
  5253.  Concerning the destination options, when you ask for a destination
  5254.  (CompressionType) of ARC, MTA will only work when you own a copy of
  5255.  ARC.EXE. It is NOT possible to create a destination of ARC with the
  5256.  PKWare or Nogate programs !
  5257.  
  5258.  PAK.EXE is also compatible with some versions of ZIP. I have had a
  5259.  number of errors on the PAK-ZIP combination. Also ZIP is for PK(UN)ZIP
  5260.  and not for PAK to convert to normal files. Unless multiple users ask
  5261.  for ZIP-support with PAK, I will not include it inside MTA and you
  5262.  must use PKUNZIP to decompress a ZIP file and PKZIP to create one.
  5263.  
  5264.  MTA will search for the following programs if you don't supply the names
  5265.  in the MTA.CTL file:
  5266.  
  5267.  - ARC.EXE                        (SEA);
  5268.  - PKPAK.EXE/PKUNPAK.EXE          (PKWare old);
  5269.  - PAK.EXE                        (NoGate);
  5270.  - DWC.EXE                        (Dean W. Cooper);
  5271.  - ZOO.EXE                        (R. Dhesi);
  5272.  - LHARC.EXE or LHA.EXE           (Yoshi);
  5273.  - LARC.EXE                       (Miki);
  5274.  - PKZIP.EXE/PKUNZIP.EXE          (PKware new);
  5275.  - MDCD.EXE                       (MD);
  5276.  - ARJ.EXE                        (ARJ);
  5277.  - HYPER.EXE                      (HYP);
  5278.  - PKLITE.EXE                     (PKLITE)
  5279.  
  5280.  
  5281.  4.5 Executing MTA
  5282.  ────────────────────────────────────────────────────────────────────────
  5283.  MTA is started in the directory where the source-files are. Up to now,
  5284.  there is no (recursive) sub-directory support. The syntax is:
  5285.  
  5286.  MTA [filespec] .. [filespec] [switches]
  5287.  
  5288.  or
  5289.  
  5290.  MTA [switches]
  5291.  
  5292.  [filespec] must be a valid DOS filespec (wildcard included) like *.ZIP,
  5293.  ABC*.* or MYFILE?.?RC.
  5294.  
  5295.  You can supply as many [filespec] values as will fit on the command
  5296.  line. MTA will convert up to 1000 files that match the filespec.
  5297.  When you supply [filespec] on the command-line.
  5298.  If you include a directory (and or drive) in one or more of the masks,
  5299.  then MTA will use the FIRST path you entered and ignores the rest if
  5300.  they are different. Also the DefaultPath option becomes obsolete when
  5301.  you include a directory in the mask.
  5302.  
  5303.  If you enter MTA E:\ZIP\*.ZIP E:\ZOO\*.ZOO, then MTA will convert
  5304.  *.ZIP and *.ZOO files in E:\ZIP\. The directory E:\ZOO is ignored.
  5305.  If you want such combinations to work, you must include  DefaultPath
  5306.  options and/or use one of the LVLx command-line switches.
  5307.  
  5308.  If you do not supply an extension, MTA adds .* to the filespec, so
  5309.  the filespec MTAWOW is extended to MTAWOW.*.
  5310.  
  5311.  If you don't supply [filespec], you will be presented a full-screen
  5312.  tag-menu of the path you want to work on (only the first if you have
  5313.  more than one DefaultPath option). You can tag (with the space-bar)
  5314.  files for converting. You can un-tag them by pressing the space-bar
  5315.  again. Also fast 'bulk-tagging' is available. Press <F1> in the
  5316.  tag-menu and you get a list of all available tag-functions.
  5317.  
  5318.  Only the first 1000 selections (Pfeew, that's a lot) will be converted.
  5319.  The full-screen is displayed with a chained part of code that MTA will
  5320.  call itself. This is done to keep memory consumption as low as possible
  5321.  while actually converting the archives. One word of caution. If you
  5322.  have included more than one DefaultPath option and you are running the
  5323.  full-screen tagging, only the first of these paths is taken. The
  5324.  remaining paths are skipped !!!!!
  5325.  
  5326.  See the documentation on MTA.CTL and the run-time switches for a
  5327.  complete understanding of MTA's functions.
  5328.  
  5329.  
  5330.  4.6 Errors
  5331.  ────────────────────────────────────────────────────────────────────────
  5332.  Of course no one is perfect, so it is possible that you (or I) made
  5333.  a mistake. When MTA blows sky-high, you could get a message (only
  5334.  when needed) about some directories.
  5335.  
  5336.  When MTA starts its process, it creates a temporary path UNDER the
  5337.  path you supplied in MTA.CTL (MTATempPath) as a 8 byte HEX value of
  5338.  the current time/date or this path is created UNDER the current
  5339.  directory or the path you supplied with /W.
  5340.  
  5341.  When MTA gets an error at decompression (memory or an error in the
  5342.  archive), the original archive is placed in this temporary directory
  5343.  or in the path supplied with the MTAErrorPath option. Before placing
  5344.  the original archive in this path, MTA will first clean the temporary
  5345.  directory from already extracted files (also the temporary directory
  5346.  is removed if MTAErrorPath is active).
  5347.  
  5348.  When MTA gets an error at compression (memory in most cases), the
  5349.  original files are kept in the temporary directory. The original
  5350.  archive is already gone, so you must create the new archive yourself
  5351.  after MTA is terminated.
  5352.  
  5353.  Before decompression takes place, MTA will first take a look at
  5354.  the drive-space of the drive that contains the temporary directory.
  5355.  If there is not twice the space of the UNcompressed archive available
  5356.  on this drive, MTA will skip the conversion. Why twice the space, you
  5357.  ask yourself:
  5358.  
  5359.  - The original archive can itself contain archives. These have to
  5360.    be decompressed also;
  5361.  - The source can be bigger than the original target (converting
  5362.    ZIP to ARC for example);
  5363.  
  5364.  These two factors must be taken care of. Taking twice the space is
  5365.  still no 'fail save' mechanism but it should do in 99% of the cases
  5366.  where drive-space is low. Please observe that MTA removes the original
  5367.  archive after decompressing that archive (without error) to save
  5368.  space on the drive.
  5369.  
  5370.  Most of the errors explain themselves. The only tricky one is 'Error
  5371.  (xx) in shell'. The 'xx' is a number. In fact it is the Dos Error number
  5372.  (not errorlevel). You can find them in most DOS bibles. The most
  5373.  frequent one is 8 (not enough memory).
  5374.  Negative numbers are caused by internal errors. If you can not resolve
  5375.  them yourself, please inform me, I will try to find out the reason.
  5376.  
  5377.  From release 4.04 and up, MTA makes some noise about files with a
  5378.  valid compression extension (like ARC, PAK, ZIP, DWC and LZH/S) but
  5379.  failed the 'test the compressed file' test. Possible causes are:
  5380.  
  5381.  - The file is corrupted (sometimes the header only).
  5382.    Try to decompress the file with the belonging decompression program
  5383.    If it decompressed, delete the original one and create a fresh
  5384.    compressed file and try again;
  5385.  - The file is wrong
  5386.    Some people rename 'normal' files to one of the above extensions.
  5387.    There is nothing against doing this, but it will confuse MTA like
  5388.    hell (not to mention other people who get a copy of that file from
  5389.    you). Try another extension or remove these files from the directory
  5390.    MTA is working on;
  5391.  
  5392.  From release 6.11 and up, MTA has introduced a new source of possible
  5393.  errors. MTA is now able (when you set the right option in MTA.CTL)
  5394.  to work on SFX (self extracting) compression files in the formats ARC
  5395.  (all), PAK, ZIP, ARJ, HYP, LZH and LZS.
  5396.  MTA has to look inside such a file to deduce if it is an SFX-file.
  5397.  (only COM and EXE). Test are made of several combinations inside
  5398.  the file, but I can imagine that MTA could deduce a file to be
  5399.  SFX while it is not.
  5400.  In this case, strange things (from disk-full to I/O error) could
  5401.  happen. Only use the SFX option when converting SFX files otherwise
  5402.  leave it off !
  5403.  
  5404.  One final word about unattended BBS operation. Starting with 6.50
  5405.  MTA uses some other internal structures (think of the new name for
  5406.  the temporary directory) to leave BBS operation as undisturbed as
  5407.  possible. Older version worked unattended but had one major drawback.
  5408.  When MTA aborted as a result of an invalid compression file, all
  5409.  next runs of MTA would abort because they saw the same file again
  5410.  and again. That's why this file is moved to the temporary directory.
  5411.  When running in unattended operation, do NOT use the MTATempPath
  5412.  option but let MTA work out a path-name. The path-names MTA creates
  5413.  are logged in the MTA.LOG file.
  5414.  
  5415.  MTA 12.50 now fully uses memory in a dynamic way. This means that
  5416.  all tables are stretched and you now can include 255 files, exclude
  5417.  255 files, work on 255 different paths and so on. This is all managed
  5418.  dynamically by MTA, so when you use entries, MTA will use less memory
  5419.  This also can mean that you can overrun the limits of your PC's memory
  5420.  If you get a memory-error message you must first look into DoNot,
  5421.  IncludeFile, ExcludeFile and Defaultpath options.
  5422.  Consider to merge some of the masks in DoNot or pack all your included
  5423.  files into an archive and add this archive to your new files.
  5424.  Under normal conditions a 640K PC should have enough memory to use
  5425.  all options to the limits.
  5426.  
  5427.  All this could give you the impression that you should thank the
  5428.  Lord when MTA runs ok. THIS IS NOT THE CASE. I have converted
  5429.  around 3000 files on 200 diskettes and 2 HDU's myself again and
  5430.  again using MTA and so far only 4 errors occurred (2 of them in the
  5431.  SFX support). All these (and more) are already fixed in this release.
  5432.  
  5433.  
  5434.  4.7 Specials
  5435.  ────────────────────────────────────────────────────────────────────────
  5436.  MTA preserves memory for executing the shell and uses some space
  5437.  of its own. To use as limited memory as possible, there is a limit
  5438.  to the number of files MTA can handle. In any of the given used
  5439.  directories, you can have a maximum of 1000 files (do YOU have a
  5440.  315 MegaByte HDU, I don't..).
  5441.  
  5442.  With the current settings MTA will use 200K. The remainder of the
  5443.  memory can be uses for the shell's. Normally this leaves enough
  5444.  memory for all the (de)compressors and/or the shells. But in critical
  5445.  cases (ARJ to name one), you can use the swapping option to give back
  5446.  enough memory to the compression program.
  5447.  
  5448.  MTA uses a little trick when detecting name-like filenames. Imagine
  5449.  you have a TEST.PAK, TEST.LZH and TEST.DWC in your directory and
  5450.  you want to convert to ZIP.
  5451.  The first file is ok (TEST.PAK -> TEST.ZIP), the second gives a little
  5452.  problem (MTA can not make another TEST.ZIP. If MTA should do so, all
  5453.  the files in MTA.LZH are added (worse updated !) in the first TEST.ZIP)
  5454.  to work around. MTA warns the user and will create TEST.ZI1. The third
  5455.  is converted to TEST.ZI2.
  5456.  All these actions are reflected on the screen with a message and in the
  5457.  MTA.LOG file.
  5458.  
  5459.  As you already saw, MTA has its own touching system. This system is
  5460.  triggered with the TOUCHHIG, TOUCHLOW or TOUCHCUR options in the
  5461.  MTA.CTL.
  5462.  If you would like to leave the time/date stamps as is, you must not
  5463.  supply any of the above options !
  5464.  
  5465.  When MTA searches for the (de)compression programs, it will not be
  5466.  confused by the READ-ONLY attribute that some users use to protect
  5467.  their programs !
  5468.  
  5469.  MTA (all versions before 12.05) contain a bug that could be 'mis-used'
  5470.  if someone knew how to do it. This is corrected in MTA 12.05.
  5471.  
  5472.  
  5473.  4.8 Very special notes to read and not forget
  5474.  ────────────────────────────────────────────────────────────────────────
  5475.  Please read some notes on LHARC and LHA about the marking of such
  5476.  files.
  5477.  
  5478.  Another problem that occurs with the LHA (LHARC 2.xx) implementation
  5479.  is the backward compatible archive format. If a user still uses an
  5480.  old LHARC 1.13 (or lower) and that user gets a new LZH file (with the
  5481.  2.xx compression), LHARC 1.13 will give error messages about unknow
  5482.  compression techniques BUT does NOT set the errorlevel to something
  5483.  higher than 0 (everything OK). In that case, the following will happen
  5484.  when MTA tries to convert such an archive:
  5485.  
  5486.  - MTA calls LHARC;
  5487.  - LHARC reports 'unknown compression method' on some or all (!) files
  5488.    and returns with 0 (ok!);
  5489.  - MTA deletes the original archive (everything went ok, didn't it ?);
  5490.  - MTA starts the new compressor. That compressor will not find all
  5491.    the files (worse, because your new archive is incomplete) or will
  5492.    find no files (a relief because now MTA reports an error);
  5493.  
  5494.  Get the picture ? Something more than a flaw. One of my beta-testers
  5495.  (Hanstheo Wolf) has simulated this problem with many files and did
  5496.  come to the conclusion that there could be more problems of this kind.
  5497.  In fact, when users start to experiment with clone-programs that give
  5498.  a shell above a real archiver, or when the original archiver is repla-
  5499.  ced with a clone, these problems could occur.
  5500.  
  5501.  In the above case (and I suggest you to use ALWAYS when you still use
  5502.  the LHARC 1.xx version) you can set the option ExtendedTesting in the
  5503.  MTA.CTL file to on !
  5504.  
  5505.  What does ExtendedTesting do. First the flow of operations and the
  5506.  place where Extended Testing comes in the picture:
  5507.  
  5508.  - MTA selects a file to decompress and starts the decompress;
  5509.  - If the errorlevel is non-zero, the archive is marked in error and
  5510.    moved to the error-directory and MTA starts with the next archive;
  5511.  - After decompressing, MTA starts the extended testing;
  5512.  - If extended testing reports an error, MTA moves the original archive
  5513.    to the error-directory and starts the next archive;
  5514.  - MTA deletes the orginal archive and goes on (compressing and such);
  5515.  
  5516.  Now what does Extended Testing do:
  5517.  
  5518.  - It reads the original archive and collects the total of all uncom-
  5519.    pressed sizes;
  5520.  - It reads the uncompressed files and also collects the total of all
  5521.    these file sizes;
  5522.  - It compares both sizes. If different, MTA is reported that the
  5523.    archive is decompressed in an invalid way (missing files without
  5524.    any report of errors by means of an errorlevel), if equal, the
  5525.    file is decompressed in a normal way;
  5526.  
  5527.  The extra reading of the archive and the decompressed files will cause
  5528.  some loss in speed. But savety is optimal !!
  5529.  
  5530.  ┌───────┬─────────────────────────────────────────────────────────────┐
  5531.  │   5   │ Version information and credits                             │
  5532.  └───────┴─────────────────────────────────────────────────────────────┘
  5533.  
  5534.  5.1 The BETA-team
  5535.  ────────────────────────────────────────────────────────────────────────
  5536.  The following Sysop's and their CoSysop's (only if they use the same
  5537.  BBS or a NON-user (closed) shadow BBS) are allowed to make use of the
  5538.  BETA-releases on their own risk:
  5539.  
  5540.  - Remote Access Multiline/Multiport Paradise  (*)
  5541.    Sysop: Reinier De Groot
  5542.  
  5543.  - GOLEM Service BBS
  5544.    Sysop: Hanstheo Wolf
  5545.  
  5546.  - Sirex BBS
  5547.    Sysop: Gerry Ulrich
  5548.  
  5549.  - Funboard BBS
  5550.    Sysop: Dirk Astrath
  5551.  
  5552.  - Amber Shadow
  5553.    Sysop: Dave Overton
  5554.  
  5555.  - The Black Universe
  5556.    Sysop: Saar Blitz & Addy Santos
  5557.  
  5558.  - The Chess Board
  5559.    Sysop: Ken Givens
  5560.  
  5561.  - Barnabas The Caring
  5562.    Sysop: John Barton
  5563.  
  5564.  The BBS marked with (*) will always test the newest version and is
  5565.  also the main distribution node for the MT-series. Also mail to me
  5566.  can be send to this system. The other BBS's are asked, if they like,
  5567.  to test the new versions, but if there is no time, or if they find
  5568.  the risk to high I don't mind. I would be pleased though, if these
  5569.  BBS's would like to look into the new BETA version.
  5570.  
  5571.  
  5572.  5.2 Credits
  5573.  ────────────────────────────────────────────────────────────────────────
  5574.  Thanks to the following people:
  5575.  
  5576.  - All paying, registered users. You make it possible to enhance MTA
  5577.    with nice features;
  5578.  - All users who did write me a message and/or sent me a postcard;
  5579.  - The BETA-team (a very warm and loud applause !);
  5580.  
  5581.  
  5582.  5.3 Version history
  5583.  ────────────────────────────────────────────────────────────────────────
  5584.  
  5585.  ┌───────┬────────────────────────────┐
  5586.  │ 11.xx │ Sampled release info       │
  5587.  └───────┴────────────────────────────┘
  5588.   ■ Bug fixes;
  5589.   ■ Added FilesBBSFormat option, CarryComment option, alternate CTL
  5590.     support, combination of /M and /D allowed;
  5591.  
  5592.  ┌───────┬────────────────────────────┐
  5593.  │ 12.xx │ Sample release info        │
  5594.  └───────┴────────────────────────────┘
  5595.   ■ Bug fixes;
  5596.   ■ All tables to 255 entries, tag-menu, /@, /MD, AltDisplay, internal
  5597.     swapping (SwapPath, NoSwap), MDCD support (MDPath), IncludeCTL,
  5598.     AV-aware, encryption aware, configurable log-file, MTAErrorPath,
  5599.     extended help, mouse aware, ITS aware and many, many more changes;
  5600.  
  5601.  ┌───────┬────────────────────────────┐
  5602.  │ 13.01 │ Major release              │
  5603.  └───────┴────────────────────────────┘
  5604.   ■ Fixed a bug in the display with combinations of AV'ed and non
  5605.     AV'ed file. Fixed;
  5606.  
  5607.   ■ Fixed a flaw with the CarryComment option. As I have found out,
  5608.     several Sysop's use special utilities to add files to their
  5609.     FILES.BBS that do not use the, more or less, standard. There was
  5610.     NO way to tell MTA what to do with entries that use the format
  5611.     'F.E comment' (where F.E is the filename). These entries will
  5612.     have a 'floating' start of the comment and do not always begin
  5613.     on a fixed position. This is changed in this release of MTA.
  5614.     The FilesBBS option is changed to support not only a position,
  5615.     but also a starting ITEM number for the comment-part. In fact
  5616.     MTA uses by DEFAULT item number 2 in the line as the comment.
  5617.     Reported by: Hanstheo Wolf
  5618.  
  5619.   ■ Worked around problems in the shell window, where the system
  5620.     could crash when the mouse was active. When this happens, the
  5621.     'Nomouse Window' option must be used to keep control over the
  5622.     mouse in MTA and its pick-list itself and to shut off the
  5623.     mouse when the (de)compression window comes active;
  5624.     Reported by: Joerg Dassler
  5625.  
  5626.   ■ Fixed a flaw with the NoMouse (/Nomouse) option. When used, MTA
  5627.     did in fact display the mouse 'symbol' for a short moment and
  5628.     mouse control was also available for a short moment. This is
  5629.     fixed. Also the NoMouse option now also has a meaning inside
  5630.     the pick-list.
  5631.     Reported by: Joerg Dassler
  5632.  
  5633.   ■ Reworked the 'windmill' while MTA was reading MTA.CTL. Now MTA
  5634.     will display a flashing star. Parsing of MTA.CTL is now much
  5635.     faster;
  5636.  
  5637.   ■ Added support for 4Dos <tm> descriptions. The CarryComment and
  5638.     FilesBBS options are reworked in a way that MTA can now extract
  5639.     the description from the 4Dos DESCRIPT.ION file (see FilesBBS
  5640.     option);
  5641.  
  5642.   ■ Added support to add the description (and filename) from the
  5643.     original archive into the file as pointed to by the FilesBBS
  5644.     option. This option is also 4Dos-aware;
  5645.  
  5646.   ■ Added support to 4Dos in cases where MTA moves files to and
  5647.     from directories. When the 4DosAware option is available in
  5648.     MTA.CTL, MTA will use the 4DOS MOVE command and not it's own
  5649.     internal move;
  5650.  
  5651.   ■ Made MTA aware of larger displays. EGA and VGA users should now
  5652.     have no problems with MTA in 43/50 lines modes. MTA will, under
  5653.     special conditions, also use the full screen in the DOS-shell;
  5654.     Reported by: Joerg Dassler, Dirk Astrath
  5655.  
  5656.   ■ MTA is not free anymore. Look for details in UPGRADE.MTA if
  5657.     you registered earlier. Read REGISTER.MTA when you are new
  5658.     to MTA. Registered users of lower versions will get a reduction.
  5659.  
  5660.   ■ Added the RegistrationName and RegistrationKey options to support
  5661.     registration keys;
  5662.  
  5663.   ■ Added introduction screens to MTA, MTL and MTM. You can still use
  5664.     MTA stand-alone, but in that case a 75 seconds delay is present;
  5665.  
  5666.  ┌───────┬────────────────────────────┐
  5667.  │ 14.01 │ Major release              │
  5668.  └───────┴────────────────────────────┘
  5669.   ■ When MTA detected an archive inside an archive for which you did
  5670.     not supply a archiver (no ???Path option), MTA would move this
  5671.     archive to the error-path, then swap back to the parent MTA and
  5672.     would compress the new archive without this file. This was a
  5673.     nasty bug. Fixed;
  5674.     Reported by: Dirk Astrath
  5675.  
  5676.   ■ When the user wanted to terminate MTA (hitting ESC), MTA would
  5677.     not stop if multiple directories had to be processed. This is
  5678.     now fixed.
  5679.     Reported by: Many users, beta-team
  5680.  
  5681.   ■ Touching would (in some cases) go wild. This was caused by the
  5682.     fact that MTA also used the included/excluded files for the
  5683.     test. These files would normally have a recent date, so all
  5684.     archives would get this high date (TouchHig).
  5685.     Reported by: Many users
  5686.  
  5687.   ■ With the introduction of volume-labels in PKZIP, MTA would report
  5688.     a file with invalid attributes when the ReportSpecialAttributes
  5689.     option was set to on. This file was also altered to a normal
  5690.     file and sometimes gone after this change. This is fixed. MTA
  5691.     will now ignore files with a attribute VOLUMEID.
  5692.     Reported by: Hanstheo Wolf
  5693.  
  5694.   ■ If MTA was unable to obtain the PROMPT environment variable from
  5695.     your master environment, MTA would use not prompt at all. Now,
  5696.     when MTA can not obtain a prompt, $P$G is substituted and when
  5697.     your prompt does not contain $P or $G, MTA will add this to the
  5698.     prompt even when you did not ask for it. This is done because it
  5699.     could be the case, you are left in a (for you) unknown directory
  5700.     and this little trick will fix that. The $P$G is only used inside
  5701.     MTA. When MTA is finished, you get your old prompt back (if any);
  5702.     Reported by: Dirk Astrath
  5703.  
  5704.   ■ If MTA was called with the /CTL command-line option, and this option
  5705.     was not the last command in the command-line, MTA would abort with
  5706.     something like '[next command] file not found'. You had to use the
  5707.     /CTL as the last option. This is fixed;
  5708.     Reported by: Hanstheo Wolf and Author
  5709.  
  5710.   ■ MTA contained a little flaw. The password-list (MTA.PWD or something
  5711.     supplied by user) was longer than 80 bytes. In some BBS implementa-
  5712.     tions, this caused a problem.
  5713.     Reported by: Hanstheo Wolf
  5714.  
  5715.   ■ MTA could hang on large archives. When the total number of DISPLAYED
  5716.     bytes inside the (de)compress shell was more than a certain number,
  5717.     MTA would hang the machine. See StowBuffer option. Fixed;
  5718.     Reported by: Author
  5719.  
  5720.   ■ Added a LogStartStyleFormat option to create extra log-records at
  5721.     the start of the new log. Also the LogStyleFormat option is en-
  5722.     hanced with ^M to reflect a CRLF combination. This feature is al-
  5723.     so added to the LogStartStyleFormat;
  5724.     Suggested by: Dirk Astrath
  5725.  
  5726.   ■ When a compressed file is in error, MTA will now COPY (not MOVE)
  5727.     the entry in the FILES.BBS-alike file to a file of the same type
  5728.     inside the error-path. This only works when the FilesBBS option
  5729.     is set to on;
  5730.     Suggested by: Dirk Astrath
  5731.  
  5732.   ■ Somewhat enhanced the ZIPAutodescription option to make it usable
  5733.     for ZIP, ZOO and PAK. Renamed the option to AutoDescription and
  5734.     made the old version obsolete in this release;
  5735.     Suggested by: Dirk Astrath
  5736.  
  5737.   ■ Changed the PasswordListPath option to RandomPasswordListPath and
  5738.     made the first obsolete. Also added a NormalPasswordListPath op-
  5739.     tion to MTA.CTL to log files with a normal password (supplied
  5740.     with /OPpassword);
  5741.     Suggested by: Hanstheo Wolf
  5742.  
  5743.   ■ Added full recursive support to all archivers that support such a
  5744.     feature. Added the SubstDrive option;
  5745.     Suggested by: Hanstheo Wolf
  5746.  
  5747.   ■ Added full EGA/VGA support to MTA (in all shells and in MTA itself)
  5748.     so users with default enlarged screens don't have to look to a
  5749.     very little MTA, running in the upper left corner of their huge
  5750.     screen.
  5751.     Suggested by: Joerg Dassler, Reinier de Groot, Hanstheo Wolf and
  5752.                   Dirk Astrath
  5753.  
  5754.   ■ Older releases of MTA (nobody is perfect) could not detect arc-
  5755.     in-arc files when they did not occur in the (relative) root of
  5756.     the archive, so when a ZIP-file contained TEST.ME and \NEW\TEST.LZH
  5757.     (the directory \NEW also stored in the ZIP), MTA did not detect such
  5758.     a situation and the TEST.LZH was not converted to ZIP. This is now
  5759.     fixed.
  5760.     Suggested by: Dirk Astrath and author
  5761.  
  5762.   ■ MTA could add funny lines with trash in the FILES.BBS-alike file
  5763.     along with the CarryComment statement. This occurred with new
  5764.     files that were not already present in this file. This is fixed;
  5765.     Suggested by: Hanstheo Wolf
  5766.  
  5767.   ■ Added /LVL0 to process all files in the current directory, over-
  5768.     ruling any DefaultPath option. /LVL0 is the same as /W without a
  5769.     directory-name.
  5770.     Suggested by: Author
  5771.  
  5772.   ■ Added /LVL1 to process all files in all sub-directories under the
  5773.     current directory and NOT including the current directory itself,
  5774.     thus also overruling any DefaultPath option.
  5775.     Suggested by: Hanstheo Wolf
  5776.  
  5777.   ■ Added /LVL2 to process all files in all sub-directories under the
  5778.     current directory AND INCLUDING the current directory itself, thus
  5779.     also overruling any DefaultPath option.
  5780.     Suggested by: Hanstheo Wolf
  5781.  
  5782.   ■ Added /LVL3 to process all files in all directories on the current
  5783.     drive (starting from the root-directory), thus also overruling the
  5784.     DefaultPath option(s).
  5785.     Suggested by: Author & Hanstheo Wolf
  5786.  
  5787.   ■ Added the name of the directory that MTA is working on in the
  5788.     alternate display (the last 22 characters, or the last 24 when
  5789.     working in 132x?? extended text mode).
  5790.     Suggested by: Author
  5791.  
  5792.   ■ MTA could display 'path not found' messages in the little shell.
  5793.     This is fixed.
  5794.     Suggested by: Reinier de Groot
  5795.  
  5796.   ■ MTA could seem to hang with a AV-ed file when comments were
  5797.     added and/or deleted. Could only occur under 4Dos. This is
  5798.     (more or less) fixed (see notes on MTA and 4Dos).
  5799.     Suggested by: Reinier de Groot
  5800.  
  5801.   ■ MTA could seem to hang with a AV-ed file, when deleting files
  5802.     from the archive (ExcludeFile option). This could only occur
  5803.     when the filename started with a '-' (like --------.---). This
  5804.     is also fixed.
  5805.     Suggested by: Hanstheo Wolf
  5806.  
  5807.   ■ Fixed some display errors in /D option.
  5808.     Suggested by: Author
  5809.  
  5810.   ■ Changed the chained file MTA.CH1, called to display a pick-list.
  5811.     The pick-list will now test all files in the directory and will
  5812.     only display archives, independent of the extension. In this way
  5813.     you get .SDN, .SDS, .OWN or whatever files in the list if they
  5814.     are archives and even when you did set SFXFiles (/SFX) to off !
  5815.     Suggested by: Hanstheo Wolf
  5816.  
  5817.   ■ Removed the 4DosAware option and changed it to the Not4DosAware
  5818.     option. MTA will detect a full 4Dos environment itself. This
  5819.     can now be switched off, rather than switched on.
  5820.     Suggested by: Author
  5821.  
  5822.   ■ MTA's file-access if fully changed. When SHARE.EXE is present in
  5823.     the PC (networks, multitasking environment like DesqView and
  5824.     Windows), MTA will test and place the correct locks and sharing
  5825.     on the accessed file(s). If a file is denied by SHARE, MTA will
  5826.     wait until the file is released. The wait-period is configurable
  5827.     in MTA.CTL by means of the ShareWait option.
  5828.     Suggested by: Dirk Astrath
  5829.  
  5830.   ■ You can now, officially, run multiple copies of MTA at the same
  5831.     time. You must make your own checks to overcome any problems that
  5832.     would occur when you start to convert the same files in the dif-
  5833.     ferent copies.
  5834.     Suggested by: Author
  5835.  
  5836.  ┌───────┬────────────────────────────┐
  5837.  │ 14.05 │ Minor and Bug release      │
  5838.  └───────┴────────────────────────────┘
  5839.   ■ MTA could not detect some LZH SFX files and would abort on some
  5840.     LZH (normal) files. This was caused by a bug in my CFI routine
  5841.     and has (finally) been fixed;
  5842.     Reported by: Dirk Astrath, Reinier de Groot
  5843.  
  5844.   ■ Some bad characters could be displayed at the end of MTA's run.
  5845.     This is fixed.
  5846.     Reported by: Klaus Schoelhorn
  5847.  
  5848.   ■ MTA will do some internal and external tests. Both environments
  5849.     are checked to see if MTA is capable to run. In strange cases
  5850.     this could result in a runtime-error. In this case, please
  5851.     contact the author. This testing will delay MTA for around a
  5852.     second (at the start) on a slow machine.
  5853.  
  5854.   ■ Added the ARJ protocol. This is still temporary until ARJ is
  5855.     released in general, but 0.13a (alpha release) is implemented
  5856.     in MTA to make testing of this very 'dense' protocol easier.
  5857.  
  5858.  ┌───────┬────────────────────────────┐
  5859.  │ 14.06 │ Minor and Bug release      │
  5860.  └───────┴────────────────────────────┘
  5861.   ■ MTA is now aware of ARJ release 0.14 (and 0.13 for that matter).
  5862.     Some bugs in CFI-routines fixed and made code faster and tighter;
  5863.  
  5864.   ■ MTA can now handle comments in ARJ files. All comment-related
  5865.     options in MTA (CarryComment and so on) will now also work on
  5866.     ARJ-files;
  5867.  
  5868.   ■ Added support for TEMP variable in the environment table. If TEMP
  5869.     is set, MTA will use the supplied directory as the temporary
  5870.     directory for the archivers. This directory can (and is) overruled
  5871.     by the MTATemp option (if set). If the TEMP environment variable
  5872.     is not complete (no drive, invalid path), MTA will skip the value;
  5873.  
  5874.   ■ Added new release of OPRO (1.03). Will have no effect on the
  5875.     specifications but will fix some strange bugs.
  5876.  
  5877.  ┌───────┬────────────────────────────┐
  5878.  │ 14.07 │ Minor and Bug release      │
  5879.  └───────┴────────────────────────────┘
  5880.   ■ The ARJCompression option was not passed to ARJ itself and was in
  5881.     fact a dummy option. This is fixed;
  5882.     Reported by: Gert Ensing
  5883.  
  5884.   ■ The switch /CJ to overrule the ARJCompression option is added to
  5885.     MTA;
  5886.  
  5887.   ■ The /CD switch is enhanced (along with /CJ) to work the same way
  5888.     as /CZ. Now multiple options can be added;
  5889.  
  5890.   ■ /CZ and /CD contained an error. Both option passed wrong parameters
  5891.     to the MTA child (arc-in-arc);
  5892.  
  5893.   ■ Tightened the ARJ detection routines.
  5894.  
  5895.   ■ Added support for Frans Veldman's TBSCAN.COM
  5896.  
  5897.   ■ Added a reduction percentage to complement the total reduction
  5898.     value.
  5899.     Suggested by: Gert Ensing
  5900.  
  5901.  ┌───────┬────────────────────────────┐
  5902.  │ 14.10 │ Minor and Bug release      │
  5903.  └───────┴────────────────────────────┘
  5904.   ■ Fixed some minor and one major flaw in the CFI-interface. This
  5905.     caused MTA to hang with LHarc-files with paths inside. Also
  5906.     files were detected as ARC or ARJ-files were not detected at
  5907.     all (for the same reason);
  5908.     Reported by: Gert Ensing, Rob Lirb, Reinier de Groot
  5909.  
  5910.   ■ Fixed a problem with ARJ-files with paths inside. ARJ would stop
  5911.     and say 'Create directory ?'. This was a nasty problem when running
  5912.     MTA in unattended mode. The ARJ '-y' switch is implemented now;
  5913.  
  5914.   ■ Changed the display again;
  5915.  
  5916.   ■ Changed MTA.CH1 (file selection chain). Hangups in MTA.CH1 would
  5917.     occur as a result of the CFI problems mentioned earlier. MTA.CH1
  5918.     will now display the files it is selecting, so in case of problems
  5919.     you can now see the file causing the problem;
  5920.     Reported by: Hanstheo Wolf, Gert Ensing
  5921.  
  5922.   ■ Added suport for the German HYPER compression program.
  5923.     Suggested by: Reinier de Groot
  5924.  
  5925.  ┌───────┬────────────────────────────┐
  5926.  │ 14.20 │ Minor release              │
  5927.  └───────┴────────────────────────────┘
  5928.   ■ Changed all the code to Turbo Pascal version 6.0, OPRO 1.10 and
  5929.     Powertools 5.10. Thanks to TurboPower and Blaise for sending the
  5930.     changed units in a hurry;
  5931.  
  5932.   ■ Under TP 6.0 the old swapper did not work anymore. Changed the
  5933.     whole MTA programming concept and added a new swapper that is
  5934.     both faster, more versitile and swaps less code.
  5935.  
  5936.   ■ Added options to make it possible to swap MTA before one or more
  5937.     user selectable) archivers get control. Thios was needed to let
  5938.     MTA run in small configurations with ARJ 0.20 and higher. ARJ
  5939.     uses around 110 Kb more memory than the biggest archiver until
  5940.     now (LHarc and DWC). 512K users and users with 808x machines
  5941.     that have no higher memory areas to use for their DOS and/or
  5942.     device drivers can now still run MTA.
  5943.     Suggested by : Reinier de Groot and Author
  5944.  
  5945.   ■ Added the RA0 and RA1 parameters to let MTA work fine with the
  5946.     new FILES.RA structure of Remote Access 1.xx (beta still).
  5947.     Suggested by : Ruud de Bruin, Reinier de Groot
  5948.  
  5949.   ■ Changed ARJ support somewhat. Earlier versions of MTA could work
  5950.     with older ARJ releases (0.13, 0.14) but this release needs 0.15
  5951.     or higher because the -d -y combination is changed to -m (supported
  5952.     in ARJ 0.15 and higher). Using MTA with older ARJ versions will
  5953.     result in errors.
  5954.     Suggested by : Author
  5955.  
  5956.   ■ Drives and directories are now supported in MTA. In earlier versions
  5957.     you had to use MTA *.ZIP /WD:\MYPATH to convert *.ZIP files in the
  5958.     directory D:\MYPATH\. Now it is possible to enter the following
  5959.     combination MTA D:\MYPATH\*.ZIP. If more masks are supplied with
  5960.     different directories, MTA will ignore the directories (NOT the
  5961.     masks, so MTA E:\ZIP\*.ZIP E:\ZOO\*.ZOO will result in a conversion
  5962.     of *.ZIP and *.ZOO files inside E:\ZIP\ and NOT in E:\ZOO\.
  5963.     Suggested by : Almost everybody
  5964.  
  5965.   ■ Added support to PKLITE. Added PKLITEPath option and CompressionType
  5966.     PKLITE and UNPKLITE. Also Added PKLITECompression option, along with
  5967.     the /CL command-line switch;
  5968.     Suggested by : Author
  5969.  
  5970.   ■ Added new coding to the tag-menu so users can now switch directories
  5971.     and drives to do their selection;
  5972.     Suggested by : Hanstheo Wolf and author
  5973.  
  5974.   ■ Added new coding to the tag-menu for PKLITE support;
  5975.     Suggested by : Author
  5976.  
  5977.   ■ Changed the HELP-menu (MTA.CH2). This menu will now display any
  5978.     changes to the previous version with a '│' in lightred before
  5979.     the description of that changed option.
  5980.     Suggested by : Author
  5981.  
  5982.   ■ Thanks to some hackers I had to change the key-support. It looks
  5983.     the same but is different. Registered users should read the
  5984.     REG_USER.MTA document and the separate letter they will receive
  5985.     by mail;
  5986.  
  5987.  ┌───────┬────────────────────────────┐
  5988.  │ 14.30 │ Minor release              │
  5989.  └───────┴────────────────────────────┘
  5990.   ■ Fixed a problem with directories on the command-line. The parse
  5991.     routine did not work ok (normal paths and paths on options like
  5992.     /W). When you included /WD: (or MTA D:*.ZIP), MTA would work on
  5993.     the root of D: and not the current directory on D:. This is
  5994.     fixed;
  5995.     Reported by: Peter Schmidhofer
  5996.  
  5997.   ■ Fixed possible problems with child calls. In some cases MTA could
  5998.     overrun the command-line of the child, causing strange things. In
  5999.     some cases this could cause MTA to show the tag-menu when working
  6000.     on a recursed ZIP. This is fixed. MTA will now report an error;
  6001.     Reported by: Richard Lee
  6002.  
  6003.   ■ Fixed some problems in the documentation. Added chapters about the
  6004.     child calls and unattended operations. Also some errors were re-
  6005.     moved.
  6006.     Suggested by: Dirk Kissing
  6007.  
  6008.   ■ Included LHARC 2.xx support. MTA can now convert old LHARC (1.13)
  6009.     and new LHARC (2.05) LZH files;
  6010.  
  6011.   ■ Included LZHCompression option and the /CH command-line parameter
  6012.     to give optimum support for LZH;
  6013.  
  6014.   ■ Changed the help support again. When you enter HELP (MTA /?) you
  6015.     can now create a complete command-line when you hit ENTER while
  6016.     you are scrolling in the HELP screens. After you are finished
  6017.     (hitting ESC), MTA will display the constructed command-line on
  6018.     the screen, so you can read it while you enter the MTA command
  6019.     on the command-line;
  6020.     Suggested by: Hanstheo Wolf
  6021.  
  6022.   ■ Fixed a documentation bug in the MTA.CTL example I supplied.
  6023.     For all xxxPath options, the **CHA1420** at the end, caused a
  6024.     problem for those who used this MTA.CTL as a template for their
  6025.     own CTL-file;
  6026.     Suggested by: Hanstheo Wolf, Wim Abels
  6027.  
  6028.   ■ Changed the unregistered behaviour somewhat. People who liked to
  6029.     experiment with MTA before desciding to use it, would go nuts
  6030.     with the 30 second delay. The sequence is now as follows:
  6031.     - 10 seconds delay (always);
  6032.     - 20 seconds delay unless you enter the supplied pass-code before
  6033.       the 20 seconds are passed and while MTA is counting down;
  6034.     - 60 seconds delay unless you press any key;
  6035.     So nothing has changed for unattended use but testing MTA will
  6036.     now only cost 10 seconds and 4 keystokes and not the whole 30
  6037.     seconds and a keystroke.
  6038.     The registration delay is NOT to punish people (that is why ALL
  6039.     functions are available in unregistered mode and MTA is not
  6040.     crippled in that mode) but more as a reminder to register the
  6041.     product if you use it after the 30 days trial period. The develop-
  6042.     ment of MTA costed months of labour, testing not to mention the
  6043.     costs of keeping compilers and add-on's on the required level.
  6044.     That won't say that I am not unwilling when several users from all
  6045.     over the world complained about the long delays. This is why I have
  6046.     changed it a bit;
  6047.  
  6048.   ■ Including a warning !! PLEASE, before you implement a newer version
  6049.     of some archiver do a TEST !!
  6050.     With LHARC 2.05 there were some reports on missing files with the
  6051.     14.20 release (and earlier). This was caused by a change in the
  6052.     internal archive structure of LZH files. This caused MTA to think
  6053.     that the file was a LHARC 1.13 or (wors) LARC 3.33 file. The con-
  6054.     version would sometimes work (stored files) and sometimes not
  6055.     (trashed archive or a very small new archive). With the current
  6056.     flow of files, a new MTA will be available within a week after
  6057.     the new version hits the European market. Better not to do some
  6058.     experiments (on expensive files) and to wait than to loose one
  6059.     in your own experiments ! The versions below should (!) work on
  6060.     MTA. The list is always correct for the given version.
  6061.  
  6062.  ┌───────┬────────────────────────────┐
  6063.  │ 14.35 │ Minor and bug release      │
  6064.  └───────┴────────────────────────────┘
  6065.   ■ MTA would fail to convert a SFX ARJ-file. This is fixed;
  6066.     Reported by: Many users
  6067.  
  6068.   ■ MTA would display ????? in its window for LHA 2.xx files.
  6069.     Reported by: Chris Buys, Reinier de Groot;
  6070.  
  6071.   ■ Implemented a work-around in MTA for the LHA 2.05 size testing
  6072.     error. Added UnMark (/UNMARK) option.
  6073.     Reported by: Many users
  6074.  
  6075.   ■ Implemented a work-around in MTA for the LHARC 1.xx problem with
  6076.     LHA 2.xx files. Can be used always as an extra safety. Added the
  6077.     ExtendedTesting (/EXTTST) option;
  6078.     Reported by: Hanstheo Wolf
  6079.  
  6080.   ■ Added ARJ security envelope support. Works the same as AV'ed
  6081.     ZIP-files and is triggered with the KeepAV option;
  6082.     Reported by: Many users
  6083.  
  6084.   ■ Added switching of video-mode. Added VideoMode (/VMODE) option.
  6085.     Suggested by: Author
  6086.  
  6087.   ■ Added notice to users that it is impossible to compress the
  6088.     programs MTA.EXE/CH1/CH2, MTL.EXE, MTM.EXE and MTZ.EXE. This
  6089.     will change is the 15.xx release;
  6090.  
  6091.  ┌───────┬────────────────────────────┐
  6092.  │ 14.36 │ Bug release                │
  6093.  └───────┴────────────────────────────┘
  6094.   ■ Fixed a bug that caused MTA not to work when both /D and the
  6095.     ExtendedTesting option were active. MTA would report an error
  6096.     on every archive;
  6097.  
  6098.   ■ This is a in-between release. Only MTA.EXE is changed. All
  6099.     other programs keep the 14.35 release !!!!
  6100.  
  6101.  ┌───────┬────────────────────────────┐
  6102.  │ 14.40 │ Minor release              │
  6103.  └───────┴────────────────────────────┘
  6104.   ■ Fixed a problem with error-log processing in combination with
  6105.     share. This could cause a runtime-error 202 under certain con-
  6106.     ditions. This is fixed;
  6107.     Reported by : Pauline Surink
  6108.  
  6109.   ■ The error-log would report 'File moved to : xxx' (where xxx is
  6110.     a directoryname). MTA would always report 'xxx' as the temporary
  6111.     directory EVEN when a fixed error-path was installed. This is
  6112.     now fixed;
  6113.  
  6114.   ■ MTA would keep the substituted drive and temporary directory
  6115.     under certain error-conditions (no compressor available, CRC
  6116.     errors and such) and would abort when trying to reuse the
  6117.     subst-drive. This is fixed;
  6118.     Reported by : Rob Lirb
  6119.  
  6120.   ■ Fixed a problem with ZIP in combination with HIDDEN and SYSTEM
  6121.     files. ZIP would not store these files inside the ZIP-file.
  6122.     This is fixed;
  6123.     Reported by : Dave Overton
  6124.  
  6125.   ■ Implemented various new routines that are optimized on size and
  6126.     speed. Internal processing will be around 10% better but the
  6127.     overall speed will not change much because most of the time is
  6128.     lost on the (de)compression;
  6129.  
  6130.   ■ MTA would not recognize ARC and LZH/LZS files when the first file
  6131.     inside such an archive contained special, country dependent,
  6132.     characters like ô and ë. This is fixed;
  6133.     Reported by : Hanstheo Wolf
  6134.  
  6135.   ■ Documentation did not point out that the OwnCompressPath and the
  6136.     OwnDecompressPath options could also use a second (opt) and even
  6137.     third (SWAP) parameter;
  6138.     Reported by : Rob Lirb
  6139.  
  6140.   ■ Added OriginalARJName option to force MTA to use the original
  6141.     name of any ARJ source-file (the name is stored inside the
  6142.     archive) and not the file-name itself.
  6143.  
  6144.   ■ Added TICKFiles option to extract comments from TICK-files;
  6145.  
  6146.   ■ Added UpdateUntypedFiles to update any type of file (even binary
  6147.     files/programs) with the changed archive-name (if changed);
  6148.  
  6149.   ■ Implemented a new VirusScanner option (different syntax, so be
  6150.     sure to read when you upgrade). It is now possible to call up
  6151.     to 10 different scanners for each converted archive;
  6152.     Suggested by : Harry Thijssen
  6153.  
  6154.   ■ Removed VirusScanParm option.
  6155.  
  6156.   ■ Added parameters for /OP option to generate passwords with normal
  6157.     and current-year based julian dates inside the actual password;
  6158.     Suggested by : Hantheo Wolf;
  6159.  
  6160.   ■ Added /SIM command-line option so MTA can be used to scan for
  6161.     a virus (and call exits) without repacking (compressing) the
  6162.     file(s) again;
  6163.     Suggested by : Harry Thijssen
  6164.  
  6165.   ■ MTA would stuff keys into the keyboard before a scanner was
  6166.     called. This to overcome the problem with McAfee's SCAN and
  6167.     the prompt for the user when more than 15 viri were found.
  6168.     This caused problems under multitaskers and this function is
  6169.     now removed from MTA because you can use the /NOPAUSE option
  6170.     in SCAN itself (version 76 and up);
  6171.     Suggested by : Reinier de Groot
  6172.  
  6173.  ┌───────┬────────────────────────────┐
  6174.  │ 14.45 │ Minor release              │
  6175.  └───────┴────────────────────────────┘
  6176.   ■ MTA will now read the MTA.CTL and command-line options much faster
  6177.     than before. Depending on the number of comment-lines it will give
  6178.     you a 50 to 500% gain in speed.
  6179.  
  6180.   ■ Fixed a little flaw with the LHARC 2.xx level 2 headers. MTA would
  6181.     not recognize them. This is fixed.
  6182.  
  6183.   ■ Added $FN to /OP option;
  6184.     Suggested by: Hanstheo Wolf
  6185.  
  6186.   ■ Added COMPort (/COM), FOSSILPort (/FOSSIL), BaudRate (/BAUD),
  6187.     StoreSize (/STOSIZ) and /REMOTE options to use MTA inside protocol
  6188.     doors and such on the BBS;
  6189.  
  6190.  ┌───────┬────────────────────────────┐
  6191.  │ 14.50 │ Minor release              │
  6192.  └───────┴────────────────────────────┘
  6193.   ■ Fixed a bug with FILES.BBS entries in combination with /M and
  6194.     MoveToPath options. Comments are now also moved from the original
  6195.     FILES.BBS to the FILES.BBS inside the target directory;
  6196.     Reported by : Andrew Leary
  6197.  
  6198.   ■ Fixed a bug that would show the cursor with MicroSoft's mouse
  6199.     drivers version 7 (later versions) and 8. This is not the case
  6200.     with other drivers (Genius for example) but since I moved from
  6201.     a Genius FS-3xx serial mouse to a MicroSoft bus-mouse, this
  6202.     trouble occured with MTA. I now hide the cursur everytime the
  6203.     mouse is showed (after a hide);
  6204.  
  6205.   ■ Hopefully fixed a bug in the log-file processing;
  6206.     Reported by : Bob R.
  6207.  
  6208.   ■ Added volume support for converion of volume-labels inside ZIP
  6209.     and/or ARJ files (finally !!);
  6210.     Suggested by : Dave Overton
  6211.  
  6212.   ■ Added support for ARJ 2.10. Added a new version of OPCFI that
  6213.     will (correctly) detect volume labels in ARJ and ZIP files;
  6214.  
  6215.   ■ Changed the way that comments are added to ARJ-files. Up from
  6216.     this release I dropped piping for ARJ. MTA now uses the -z
  6217.     option with a temporary/fixed file to add comments to ARJ ar-
  6218.     chives. Several users who complained about comments in ARJ,
  6219.     will be glad to see this enhancement;
  6220.     Reported by : Several users
  6221.  
  6222.   ■ Added support to move files from diferent DefaultPath directories
  6223.     to different target-paths. A nice one for a BBS with multiple up-
  6224.     load area's;
  6225.     Suggested by : Bob R.
  6226.  
  6227.  
  6228.  MTA is tested with PKWare PKPAK release 3.61, PKWare ZIP release 1.10,
  6229.  NoGate PAK release 2.51, ARC release 6.02 and ZOO release 2.01(X),
  6230.  DWC release 5.10, LHarc release 1.13c/d/2.12, LARC release 3.33, MDCD
  6231. │version 1.0, ARJ version 2.10, HYPER version 25 and PKLITE release
  6232. │1.05.
  6233.  
  6234.  
  6235.  5.4 Copyright, Trademarks
  6236.  ────────────────────────────────────────────────────────────────────────
  6237.  PKPAK, PKUNPAK, PKZIP and PKUNZIP are trademarks of PKWare Inc.
  6238.  PKLITE        is a trademark of PKWare Inc.
  6239.  PAK           is a trademark of NoGate Consulting.
  6240.  ARC           is a trademark of SEA inc.
  6241.  ZOO           is a trademark of R. Dhesi.
  6242.  DWC           is a trademark of Dean W. Cooper
  6243.  LZH and LHarc are trademarks of Yoshi;
  6244.  LZS and LARC  are trademarks of K.Miki H.Okumura and K.Masuyama
  6245.  MD            is a trademark of Michael Davenport
  6246.  ARJ           is a trademark of Robert K. Jung
  6247.  HYPER         is a trademark of Peter Sawatzki and Klaus Peter Nischke
  6248.  CRA           is a trademark of DISP and donated to public domain
  6249.  Windows       is a trademark of The Microsoft Corporation
  6250.  4Dos          is a trademark of J.P. Software / R.C. Conn and T. Rawson
  6251.  FrontDoor     is a trademark of J. Homrichhausen
  6252.  SWAP          is a trademark of Nico Mak / Mansfield Software Group
  6253.  SCAN          is a trademark of McAfee Associates
  6254.  VIRSCAN       is a trademark of J.P. van der Landen
  6255.  TBSCAN        is a trademark of Frans Veldman / ESaSS B.V.
  6256.  VALIDATE      is a trademark of McAfee Associates
  6257.  CRC.EXE       is copyrighted by Howard Vigorita but seems to be
  6258.                               public domain;
  6259.  CRC32.EXE     is copyrighted by Barry Geller    but seems to be
  6260.                               public domain;
  6261.  QuickBBS      is a trademark of the QuickBBS group Inc.
  6262.  Remote Access is a trademark of Continental Software
  6263.  TICK          is a trademark of Berry Geller
  6264.  
  6265.  MTA is written in Turbo Pascal 6.0, with help of the Turbo Debugger 2.0
  6266. │and makes extensive use of Object Professional 1.11 and OPCFI V 9.30.
  6267.  Also included are some routines of Blaise's fine PowerTools Plus
  6268.  package (5.1). Both STRG and SYS (6.1 and 6.0a) are included because
  6269.  I recently registered for (and got) a commercial license for both
  6270.  products. Give them a try ! Very nice !
  6271.  
  6272.  Turbo Pascal        is a trademark  of Borland International
  6273.  Turbo Debugger      is a trademark  of Borland International
  6274.  Object Professional is a trademark  of TurboPower Inc.
  6275.  PowerTools Plus     is a trademark  of Blaise Computing Inc.
  6276.  OPCFI               is a trademark  of Robert W. van Hoeven
  6277.  STRG and SYS        are  trademarks of Eagle Performance Software
  6278.  
  6279.  ==================== END OF DOCUMENT ==================================
  6280.